环境句柄

环境句柄是ODBC中最基本的全局容器,它管理各个具有相同“环境”属性的连接。

应用程序可以调用API函数SQLAllocHandle和SQLFreeHandle分配和释放一个环境句柄。只有在分配环境句柄后,用户才可以在该环境句柄下分配连接句柄,同时在一个环境句柄释放前,它管理的连接句柄必须先被释放。

通过环境句柄,应用程序可以调用下列类型的ODBC API函数:

  • 驱动信息函数SQLDrivers,该函数获取当前操作系统上可用的ODBC驱动的相关信息;
  • 数据源信息函数SQLDataSources,该函数获取当前操作系统上可用的数据源的配置信息;
  • 环境属性函数SQLGetEnvAttr和SQLSetEnvAttr,它们获取和设置该环境句柄的属性,一般设置环境句柄的属性将会影响该句柄下的所有连接;
  • 连接句柄构造和析构函数SQLAllocHandle和SQLFreeHandle,它们在环境句柄下分配一个连接句柄或释放一个连接句柄。
  • 诊断信息函数,当基于环境句柄的操作失败时,获取该句柄下存放的提示信息。

另外,SQLEndTran函数比较特别,它既可以对连接句柄调用,这将中止当前连接上的事务;也可以对环境句柄调用,此时将中止环境句柄下所有连接上的事务。