Skip to content

连接句柄

连接句柄包含驱动程序和数据源。 连接句柄标识每个连接,同时定义使用的驱动程序及其对应的数据源。 在实现ODBC的代码段(驱动程序管理器或驱动程序)内,连接句柄标识包含连接信息的结构,如下所示:

  • 连接的状态
  • 当前连接级别诊断
  • 连接上当前分配的语句和描述符的句柄
  • 每个连接属性的当前设置

驱动程序支持多个连接,ODBC管理器不会阻止这些连接。 在特定ODBC环境中,多个连接句柄可能指向各种驱动程序和数据源、同一驱动程序和不同的数据源,甚至是与同一驱动程序和数据源的多个连接。 某些驱动程序会限制它们支持的活动连接数,SQLGetInfo中的SQL_MAX_DRIVER_CONNECTIONS选项指定特定驱动程序支持的活动连接数。

连接句柄主要用于以下情形:

  • 连接到数据源(SQLConnect、SQLDriverConnect、SQLBrowseConnect)
  • 断开与数据源的连接(SQLDisconnect)
  • 获取有关驱动程序和数据源的信息(SQLGetInfo)
  • 检索诊断(SQLGetDiagField、SQLGetDiagRec)
  • 执行事务(SQLEndTran)
  • 在设置和获取连接属性(SQLSetConnectAttr、SQLGetConnectAttr)
  • 获取SQL语句的本机格式(SQLNativeSql)

连接句柄通过SQLAllocHandle分配,通过SQLFreeHandle释放。