连接句柄

连接由驱动程序和数据源组成。 连接句柄标识每个连接。 连接句柄不仅定义要使用的驱动程序,还定义要与该驱动程序一起使用的数据源。 在执行 ODBC 的代码段中(驱动程序管理器或驱动程序),连接句柄会标识包含连接信息的结构,如下所示:

  • 连接状态

  • 当前连接级诊断

  • 当前在连接上分配的语句和描述符的句柄

  • 每个连接属性的当前设置

如果驱动程序支持多个同时连接,则 ODBC 不会阻止它们。 因此,在特定 ODBC 环境中,多个连接句柄可能指向各种驱动程序和数据源、同一驱动程序和各种数据源,甚至指向同一驱动程序和数据源的多个连接。 某些驱动程序会限制其支持的活动连接数;SQLGetInfo 中的 SQL_MAX_DRIVER_CONNECTIONS 选项指定特定驱动程序支持的活动连接数。

连接句柄主要用于连接到数据源(SQLConnectSQLDriverConnectSQLBrowseConnect)、与数据源断开连接(SQLDisconnect)、获取有关驱动程序和数据源的信息(SQLGetInfo)、检索诊断(SQLGetDiagFieldSQLGetDiagRec),以及执行事务(SQLEndTran)。 设置和获取连接属性(SQLSetConnectAttrSQLGetConnectAttr)以及获取 SQL 语句(SQLNativeSql)的本机格式时,也会使用这些属性。

使用 SQLAllocHandle 来分配连接句柄,使用 SQLFreeHandle 进行释放。