我正在调试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如何确定驱动程序是否支持给定的函数?
答案 0 :(得分:2)
有一个名为SQLGetFunctions的ODBC API(参见http://msdn.microsoft.com/en-us/library/windows/desktop/ms709291%28v=vs.85%29.aspx)。它通常在ODBC驱动程序管理器中处理,但ODBC驱动程序可以提供自己的驱动程序。如果驱动程序管理器正在处理它,那么它可能只是查看驱动程序代码导出的函数。
BTW,一个真正不支持SQLGetInfo的驱动程序严重破坏。