达梦(DM)数据库DMODBC怎么断开与数据源之间的连接

MoMo 2021年6月14日13:31:09
评论
227

 断开与数据源之间的连接

如果要终止客户程序与服务器之间的连接,客户程序应当完成以下的几个操作:

1. 调用  SQLFreeHandle  释放语句句柄,关闭所有打开的游标,释放相关的语句句柄

资源。(在非自动提交模式下,需事先提交当前的事务);

2. 调用函数 SQLDisconnect 关闭所有的连接;

3. 调用 SQLFreeHandle 释放连接句柄及其相关的资源;

4. 调用 SQLFreeHandle 释放环境句柄及其相关的资源;

一个完整的连接管理示范代码如下:

#include <windows.h>

#include <sql.h>

#include <sqltypes.h>

#include <sqlext.h>

/*  检测返回代码是否为成功标志,当为成功标志返回 TRUE,否则返回 FALSE */

#define RC_SUCCESSFUL(rc) ((rc) == SQL_SUCCESS || (rc) == SQL_SUCCESS_WITH_INFO)

/*  检测返回代码是否为失败标志,当为失败标志返回 TRUE,否则返回 FALSE */

#define RC_NOTSUCCESSFUL(rc) (!(RC_SUCCESSFUL(rc)))

HENV henv;/*  环境句柄  */

HDBC hdbc;/*  连接句柄  */

HSTMT hsmt; /*  语句句柄  */

SQLRETURN sret;   /*  返回代码  */

SQLINTEGER AUTOCOMMIT_MODE;

void main(void)

{

/*  申请一个环境句柄 */

SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);

/*  设置环境句柄的 ODBC 版本  */

SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3,

SQL_IS_INTEGER);

/*  申请一个连接句柄 */

SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

sret = SQLConnect(hdbc, (SQLCHAR *)"DM", SQL_NTS, (SQLCHAR *)"SYSDBA", SQL_NTS, (SQLCHAR

*)"SYSDBA", SQL_NTS);

if (RC_NOTSUCCESSFUL(sret)) {

/*  连接数据源失败! */

SQLFreeHandle(SQL_HANDLE_DBC, hdbc);

SQLFreeHandle(SQL_HANDLE_ENV, henv);

exit(0);

}

/*  设置连接句柄属性,关闭自动提交功能  */

SQLSetConnectAttr(hdbc, SQL_ATTR_AUTOCOMMIT, (SQLPOINTER)SQL_AUTOCOMMIT_OFF,

SQL_IS_INTEGER);

/*  取得连接句柄属性,取得提交的模式 */

SQLGetConnectAttr(hdbc, SQL_ATTR_AUTOCOMMIT, (SQLPOINTER)&AUTOCOMMIT_MODE,

sizeof(SQLINTEGER), NULL);

/*  申请一个语句句柄 */

SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hsmt);

在这里可以使用语句句柄进行相应的数据库操作

/*  释放语句句柄 */

SQLFreeHandle(SQL_HANDLE_STMT, hsmt);

/*  提交连接上的事务 */

SQLEndTran(SQL_HANDLE_DBC, hdbc, SQL_COMMIT);

/*  断开与数据源之间的连接 */

SQLDisconnect(hdbc);

/*  释放连接句柄 */

SQLFreeHandle(SQL_HANDLE_DBC, hdbc);

/*  释放环境句柄 */

SQLFreeHandle(SQL_HANDLE_ENV, henv);

}

https://xpanx.com/
MoMo
  • 本文由 发表于 2021年6月14日13:31:09
  • 转载请务必保留本文链接:https://xpanx.com/2909.html
飞书离职了怎么退出 飞书

飞书离职了怎么退出

一、功能简介 如果你是企业成员,当你被误拉入企业,或是从企业离职时,你可选择主动退出企业,也就是注销你在当前企业下的帐号。 注:退出企业后,你在该企业身份下所拥有的云文档等资源将自动流转给直属上级,无...
统信UOS怎么使用手机和电脑互传文件 统信UOS操作系统

统信UOS怎么使用手机和电脑互传文件

您可以使用统信UOS助手来实现手机与电脑间的跨端协作、高效传输以及实时同步。  说明:仅安卓手机支持安装统信UOS助手。 成功安装并登录统信UOS助手,设置好发现方式,通过扫码或搜索电脑将电脑与手机连...
统信UOS怎么修改文件后缀名 统信UOS操作系统

统信UOS怎么修改文件后缀名

打开文件管理器,单击 > 设置 。 选择 基础设置 选项,去勾选 重命名时隐藏文件扩展名,将扩展名显示出来。 右键单击需要修改的文件后选择 重命名,根据需要修改文件后缀名即可。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: