连接句柄
连接句柄包含驱动程序和数据源。 连接句柄标识每个连接,同时定义使用的驱动程序及其对应的数据源。 在实现ODBC的代码段(驱动程序管理器或驱动程序)内,连接句柄标识包含连接信息的结构,如下所示:
- 连接的状态
- 当前连接级别诊断
- 连接上当前分配的语句和描述符的句柄
- 每个连接属性的当前设置
驱动程序支持多个连接,ODBC管理器不会阻止这些连接。 在特定ODBC环境中,多个连接句柄可能指向各种驱动程序和数据源、同一驱动程序和不同的数据源,甚至是与同一驱动程序和数据源的多个连接。 某些驱动程序会限制它们支持的活动连接数,SQLGetInfo中的SQL_MAX_DRIVER_CONNECTIONS选项指定特定驱动程序支持的活动连接数。
连接句柄主要用于以下情形:
- 连接到数据源(SQLConnect、SQLDriverConnect、SQLBrowseConnect)
- 断开与数据源的连接(SQLDisconnect)
- 获取有关驱动程序和数据源的信息(SQLGetInfo)
- 检索诊断(SQLGetDiagField、SQLGetDiagRec)
- 执行事务(SQLEndTran)
- 在设置和获取连接属性(SQLSetConnectAttr、SQLGetConnectAttr)
- 获取SQL语句的本机格式(SQLNativeSql)
连接句柄通过SQLAllocHandle分配,通过SQLFreeHandle释放。