共用方式為


ISQLServerErrorInfo::GetErrorInfo (OLE DB)

傳回包含 SQL Server 錯誤詳細資料之 SQL Server Native Client OLE DB 提供者 SSERRORINFO 結構的指標。

語法

HRESULT GetErrorInfo(
   SSERRORINFO**ppSSErrorInfo,
   OLECHAR**ppErrorStrings);

引數

  • ppSSErrorInfo[out]
    SSERRORINFO 結構的指標。如果方法失敗,或者沒有與錯誤相關聯的 SQL Server 資訊,提供者就不會配置任何記憶體,也無法確保輸出時,ppSSErrorInfo 引數為 Null 指標。

  • ppErrorStrings[out]
    Unicode 字元字串指標的指標。如果方法失敗,或者沒有與錯誤相關聯的 SQL Server 資訊,提供者就不會配置任何記憶體,也無法確保輸出時,ppErrorStrings 引數為 Null 指標。利用 IMalloc::Free 方法釋放 ppErrorStrings 引數時,會釋放傳回之 SSERRORINFO 結構的三個個別字串成員,因為有在區塊中配置記憶體。

傳回碼值

  • S_OK
    此方法已成功。

  • E_INVALIDARG
    ppSSErrorInfo 或 ppErrorStrings 引數為 NULL。

  • E_OUTOFMEMORY
    SQL Server Native Client OLE DB 提供者無法配置足夠的記憶體來完成要求。

備註

SQL Server Native Client OLE DB 提供者會針對透過取用者傳遞之指標所傳回的 SSERRORINFO 和 OLECHAR 字串配置記憶體。當取用者不再需要存取錯誤資料時,必須使用 IMalloc::Free 方法來取消配置這個記憶體。

SSERRORINFO 結構定義如下:

typedef struct tagSSErrorInfo
   {
   LPOLESTR pwszMessage;
   LPOLESTR pwszServer;
   LPOLESTR pwszProcedure;
   LONG lNative;
   BYTE bState;
   BYTE bClass;
   WORD wLineNumber;
   }
SSERRORINFO;

成員

描述

pwszMessage

來自 SQL Server 的錯誤訊息。此訊息會透過 IErrorInfo::GetDescription 方法傳回。

pwszServer

發生錯誤之 SQL Server 執行個體的名稱。

pwszProcedure

如果在預存程序中發生錯誤,則是產生錯誤之預存程序的名稱,否則為空字串。

lNative

SQL Server 錯誤號碼。此錯誤號碼與 ISQLErrorInfo::GetSQLInfo 方法之 plNativeError 參數中所傳回的錯誤號碼相同。

bState

SQL Server 錯誤的狀態。

bClass

SQL Server 錯誤的嚴重性。

wLineNumber

在適用時,這是產生錯誤訊息之 SQL Server 預存程序的行號。如果不包含任何程序,預設值為 1。

結構中的指標會參考 ppErrorStrings 引數所傳回之字串中的地址。