c 连接mysql自动断开_ESQL/C连接和断开数据库(INFORMIX) | 学步园

一、连接数据库

语法一:

EXEC SQLCONNECT TO  ①{dbname@dbservername | dbname | @dbservername | pathname/dbname | pathname/dbname@dbservername | :db_env variable}

[AS  ②connection_name]

USER③{user identifier | user_id variable} USING ④auth

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 SQL DISCONNECT [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 sysobject INTO :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、付费专栏及课程。

余额充值