SQLGetConnectOption 映射

当应用程序通过 ODBC 3.x 驱动程序调用 SQLGetConnectOption 时,调用

SQLGetConnectOption(hdbc, fOption, pvParam)   

映射如下:

  • 如果 fOption 指示返回字符串的 ODBC 定义的连接选项,驱动程序管理器将调用

    SQLGetConnectAttr(ConnectionHandle, Attribute, ValuePtr, BufferLength, NULL)  
    
  • 如果 fOption 指示返回 32 位整数值的 ODBC 定义的连接选项,则驱动程序管理器将调用

    SQLGetConnectAttr(ConnectionHandle, Attribute, ValuePtr, 0, NULL)  
    
  • 如果 fOption 指示驱动程序定义的语句选项,驱动程序管理器将调用

    SQLGetConnectAttr(ConnectionHandle, Attribute, ValuePtr, BufferLength, NULL)  
    

在上述三种情况下, ConnectionHandle 参数设置为 hdbc 中的值, Attribute 参数设置为 fOption 中的值, ValuePtr 参数设置为 与 pvParam 相同的值。

对于 ODBC 定义的字符串连接选项,驱动程序管理器在调用 SQLGetConnectAttr 时将 BufferLength 参数设置为预定义的最大长度 (SQL_MAX_OPTION_STRING_LENGTH) ;对于非字符串连接选项,BufferLength 设置为 0。

对于 ODBC 3.x 驱动程序,驱动程序管理器不再检查 Option 是介于 SQL_CONN_OPT_MIN 与 SQL_CONN_OPT_MAX 之间,还是大于 SQL_CONNECT_OPT_DRVR_START。 驱动程序必须检查选项值的有效性。