0

我正在调试 ODBC 驱动程序,并在 ODBC 日志中遇到以下条目

crw32           7e0-235c    ENTER SQLGetInfoW 
        HDBC                0x03816BE0
        UWORD                        6 <SQL_DRIVER_NAME>
        PTR                 0x0180EB18 
        SWORD                      256 
        SWORD *             0x0180E6EC

crw32           7e0-235c    EXIT  SQLGetInfoW  with return code -1 (SQL_ERROR)
        HDBC                0x03816BE0
        UWORD                        6 <SQL_DRIVER_NAME>
        PTR                 0x0180EB18 
        SWORD                      256 
        SWORD *             0x0180E6EC

        DIAG [IM001] [Microsoft][ODBC Driver Manager] Driver does not support this function (0)

ODBC 如何确定驱动程序是否支持给定功能?

4

1 回答 1

2

有一个名为 SQLGetFunctions 的 ODBC API(参见http://msdn.microsoft.com/en-us/library/windows/desktop/ms709291%28v=vs.85%29.aspx)。它通常在 ODBC 驱动程序管理器中处理,但 ODBC 驱动程序可以提供自己的。如果驱动程序管理器正在处理它,那么它可能只是查看驱动程序代码导出了哪些函数。

顺便说一句,真正不支持 SQLGetInfo 的驱动程序已严重损坏。

于 2013-09-12T08:19:39.733 回答