軟件測試解析:輕松掌握 OLE DB 錯誤信息的格式 軟件測試工具
OLE DB 應用程序以如下方式接收 Microsoft® SQL Server™ 消息:
◆調用 OLE DB ISQLErrorInfo::GetSQLInfo 函數。
◆調用提供程序特定的 ISQLServerErrorInfo::GetErrorInfo 函數。
ISQLErrorInfo::GetSQLInfo 從 master.dbo.sysmessages 將 SQL Server 錯誤號返回為 plNativeError 參數,將 SQLSTATE 值返回為 pbstrSQLState 參數。這些 SQLSTATE 代碼與 SQL Server 消息的任何部分都不相關。用于 SQL Server 的 Microsoft OLE DB 提供程序在向應用程序返回消息時,可隨時生成相應的 SQLSTATE 代碼。用于 SQL Server 的 Microsoft OLE DB 提供程序生成的 SQLSTATE 代碼與在 ODBC 規范中定義的五字符 SQLSTATE 代碼相同。對于 ISQLErrorInfo::GetSQLInfo,當 SQL Server 未產生錯誤時,pbstrSQLState 可能是 NULL。
用于 SQL Server 的 Microsoft OLE DB 提供程序和 ODBC 的 Microsoft OLE DB 提供程序均支持 ISQLErrorInfo 接口。
提供程序特定的 ISQLServerErrorInfo 接口返回有關 SQL Server 錯誤的更詳細的信息。ISQLServerErrorInfo 接口表現一個成員函數 GetErrorInfo。該函數向 SSERRORINFO 結構返回一個指針,向字符串緩沖區返回一個指針。如果 SQL Server 不產生錯誤,則指向 SSERRORINFO 結構的指針為 NULL。
SQL Server 消息的組成部分將映射成 SSERRORINFO 結構的成員:
pwszMessage
包含 SQL Server 錯誤描述。
lNative
包含 SQL Server 錯誤號。
bState
包含 SQL Server 錯誤狀態。
bClass
包含 SQL Server 錯誤條件的嚴重度。
wLineNumber
包含所產生錯誤的存儲過程的行號。
原文轉自:http://www.anti-gravitydesign.com