连接神通数据库¶
连接数据库只需使用连接语句就可以实现,连接语句的语法如下所示:
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
这三者分别用于断开指定连接、断开当前活动的连接和断开所有连接。