ESQL/C连接和断开数据库(INFORMIX)

一、连接数据库
语法一:
EXEC SQLCONNECT TO ①{dbname@dbservername | dbname | @dbservername | pathname/dbname | pathname/dbname@dbservername | :db_env variable}
[ASconnection_name]
USER{user identifier | user_id variable}USINGauth varibale

说明:
参数1:
①、dbname@dbservername:数据库@服务器名
②、dbname:数据库名。连接至默认服务器或服务器地址在DBPATH环境变量中时,可不使用@dbservername。
③、@dbservername:服务器名。当使用@dbservername时,而不使用dbname时,必须DATABASE、CREATE DATABASE或START DATABASE语句打开数据库。
④、pathname/dbname: 通过路径指定*.dbs数据库
⑤、pathname/dbname@dbservername: 通过路径指定服务器上的*.dbs数据库
⑥、:db_env variable: 宿主变量的值为以上五种情况中的一种
参数2:
①、connection_name:连接名
可省略。如果仅仅使用一个连接,则无需指定连接名。如果使用多个连接,则可以使用SET CONNECTION来使用不同的连接。(注:一个进程中,连接名不允许重复!)
参数3:
①、user identifier:登陆名(由单引号括起)
指定的用户名必须存在于/etc/passwd文件。如果连接至远程服务器,登录名必须存在于本地和远程数据库服务器上的passwd文件中。
②、user_id variable: 宿主变量。其值与user identifier一致。
参数4:
①、auth variable:宿主变量。其值为user identifier和user_id variable的密码。

例如:“ EXEC SQL CONNECTTO hhdd@dhcc AS :cnname USER :usrname USING :passwd ”,数据库为hhdd@dhcc,登录名为:usrname,密码为:password。缺省的超时时间为10秒。如果指定连接的服务器没有响应这个连接请求,或者连接超时,那么系统会返回错误信息。我们可以使用“SET OPTION”命令设置连接超时的时间值

语法二:
EXEC SQL CONNECT TO DEFAULT
说明:
在CONNECT使用DEFAULT选项时,必须使用DATABASE语句、CREATE DATABASE语句或START DATABASE语句在默认的数据库环境下去打开或创建一个数据库

二、断开数据库的连接
语法:
EXEC SQLDISCONNECT[connection_name|ALL|CURRENT]
说明:
1. connection_name:连接名
2. ALL:断开所有连接
3. CURRENT:断开当前连接

三、实例说明
请看下面的例子来理解CONNECT和DISCONNECT:
EXEC SQL CONNECT TO :dbname1 AS :cnname1 USER :usrname1 USING :passwd1;
EXEC SQL CONNECT TO :dbname2 AS :cnname2 USER :usrname2 USING :passwd2;

EXEC SQL SET CONNECTION :cnname1;
EXEC SQL SELECT name FROM sysobjectINTO :name;

EXEC SQL SET CONNECTION :cnname2;
EXEC SQL SELECT name from sysobject INTO :name;
EXEC SQL DISCONNECT :cnname1;
EXEC SQL DISCONNECT :cnname2;
在上面这个例子中,第一个select 语句查询dbname1数据库。第二个SELECT语句查询dbname2数据库。当然,你也可以使用“EXEC SQL DISCONNECT ALL; ”来断开所有的连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值