ODBC对象 - Connection

本文详细介绍了ODBC中Connection句柄的创建与释放方法,并列举了多种Connection属性及其作用,如读写模式、异步执行支持等,有助于理解并配置数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Connection句柄的创建和释放

    SQLHANDLE hEnv = <已创建Environment句柄>; 
    SQLHANDLE hConn; // 连接对象 
    SQLRETURN ret = SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hConn); 
    SQLFreeHandle(SQL_HANDLE_DBC, hConn);

Connection属性API:

    SQLRETURN SQLSetConnectAttr(
        SQLHDBC hConn, int attrib, SQLPOINTER ValuePtr, SQLINTEGER StringLengh);  
    SQLRETURN SQLGetConnectAttr(
        SQLHDBC hConn, int attrib, SQLPOINTER ValuePtr, 
        SQLINTEGER BufferLength, SQLINTEGER* pStringLengh);


Connection属性列表:

    SQL_ATTR_ACCESS_MODE   

            ODBC-1.0, SQLUINTEGER, 告知驱动当前连接的读写模式。取值:

               SQL_MODE_READ_ONLY    表示驱动无需支持用于数据修改更新的SQL语句。

               SQL_MODE_READ_WRITE   支持读写语句,默认值。

    SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE

            ODBC 3.8,SQLUINTEGER,告知该链接是否支持异步执行,取值:

                SQL_ASYNC_DBC_ENABLE_ON   允许异步执行。

                SQL_ASYNC_DBC_ENABLE_OFF  不允许异步执行(默认值)

    SQL_ATTR_ASYNC_ENABLE

            ODBC 3.0,SQLULEN, 函数调用是否异步执行。取值:

              SQL_ASYNC_ENABLE_OFF  不允许异步(默认)
              SQL_ASYNC_ENABLE_ON   允许异步

    SQL_ATTR_AUTOCOMMIT

            ODBC 1.0,SQLUINTEGER,自动提交或手动提交开关。对于批处理,以批为单位自动提交,
            还是以语句为单位自动提交,由驱动程序决定。取值:

              SQL_AUTOCOMMIT_OFF  必须显式调用SQLEndTrans()指定提交活回滚。
              SQL_AUTOCOMMIT_ON   每次执行后自动提交(默认)。

    SQL_ATTR_CONNECTION_DEAD
            ODBC 3.5,SQLUINTEGER,自读属性,表示连接状态。取值:
                SQL_CD_TRUE   连接断开。
                SQL_CD_FALSE  连接有效。

    SQL_ATTR_CONNECTION_TIMEOUT
            ODBC 3.0, SQLUINTEGER,查询请求执行超时时间(秒),0表示没有超时设置。

    SQL_ATTR_CURRENT_CATALOG
            ODBC 2.0,字符串,表示当前数据源的catalog,对应于USE database命令。

    SQL_ATTR_LOGIN_TIMEOUT

            ODBC 1.0,SQLUINTEGER,登录过程超时时间(秒)。

    SQL_ATTR_ODBC_CURSORS
            ODBC 2.0, 驱动管理器使用何种游标,取值:
                SQL_CUR_USE_IF_NEEDED  首选SQL_CUR_USE_DRIVER,如驱动不支持,
                                       则改用SQL_CUR_USE_ODBC
                SQL_CUR_USE_ODBC       使用ODBC游标库
                SQL_CUR_USE_DRIVER     使用驱动提供的游标滚动功能(默认)

    SQL_ATTR_PACKET_SIZE
            ODBC 2.0,SQLUINTEGER,网络报文字节数(多数驱动可能不支持修改报文大小)。

    SQL_ATTR_TRACE
            ODBC 1.0 SQLUINTEGER,是否启用ODBC跟踪功能,取值:
                SQL_OPT_TRACE_OFF   关闭
                SQL_OPT_RACE_ON     启用

    SQL_ATTR_TRACEFILE
            ODBC 1.0,STRING,TRACE文件路径。




转载于:https://my.oschina.net/luckysym/blog/190900

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值