连接神通数据库

连接数据库只需使用连接语句就可以实现,连接语句的语法如下所示:

EXEC SQL CONNECT TO connection target USER user name;

connection target (连接目标)主要包括以下一些信息: 数据库名字、数据库服务器的地址或者名字、端口、连接协议和连接别名等, 它可以用下面的方法声明:

dbname[@server][:port][AS connection name]
tcp:oscar://server[:port][/dbname][AS connection name]
character variable[AS connection name]

user name (用户名和密码)可以用下面的方法声明:

userid/password
userid IDENTIFIED BY password
userid USING password

如果用户oscar(口令为'zjuhxy')连接本地数据库sql92test, 则CONNECT语句可写为:

EXEC SQL CONNECT TO sql92test USER oscar IDENTIFIED BY zjuhxy;

或:

EXEC SQL CONNECT TO sql92test AS conn1 USER oscar USING zjuhxy;

注解

用户名和密码必须符合命名要求,详见附录B,''命名规则和保留名字空间''。 如果用户名或者密码的第一个字符是数字,那么需要用单引号或者双引号引起来, 否则会发生预编译错误。

其中,数据库名和地址、用户名及密码可以为宿主变量, 如果:hdb、:husrname和:hpasswd是已定义的合适类型的宿主变量并且已经赋值, 那么上面的语句也可写为:

EXEC SQL CONNECT TO sql92test USER :husrname IDENTIFIED BY :hpasswd;

或:

EXEC SQL CONNECT TO :hdb AS conn1 USER :husrname USING :hpasswd;

通过CONNECT TO 也可以访问远程数据库:

如果远程的数据库服务程序运行在Microsoft Windows 2000 操作系统上,它的IP地址为192.9.200.100,数据库服务的端口号为2003,用户oscar(口令为'zjuhxy')要连接数据库sql92test,则CONNECT 语句可写为:

EXEC SQL CONNECT TO tcp:oscar://192.9.200.100:5432/sql92test USER oscar
USING zjuhxy;

一个连接到神舟通用数据库管理系统的esql*C程序,可以通过DISCONNECT语句断开与数据库的连接。

DISCONNECT 语句的语法表达式为:

EXEC SQL DISCONNECT TO connection target;

connection target 可以用以下几种方式声明:

connection name
Current
All

这三者分别用于断开指定连接、断开当前活动的连接和断开所有连接。