SQL ServerSzczegóły błędu
SQL Server Macierzystego klienta dostawca OLE DB definiuje specyficzne dla dostawcy błąd interfejs ISQLServerErrorInfo.Interfejs zwraca więcej szczegółów o SQL Server błąd i jest przydatne, gdy polecenie wykonanie lub zestawu zestaw wierszy operacji fail.
Istnieją dwa sposoby uzyskiwania dostępu do ISQLServerErrorInfo interfejs.
Konsument może wywołać IErrorRecords::GetCustomerErrorObject celu uzyskania ISQLServerErrorInfo wskaźnik, jak pokazano w następującym przykładzie kodu.(Nie ma potrzeby uzyskiwania ISQLErrorInfo.) Obie ISQLErrorInfo i ISQLServerErrorInfo są niestandardowych obiektów błędu OLE DB z ISQLServerErrorInfo jest interfejs umożliwia uzyskanie informacji błędy serwera, w tym takie szczegóły, jak procedura nazwa wiersza numerów.
// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
nRec, IID_ISQLServerErrorInfo,
(IUnknown**)&pISQLServerErrorErrorInfo)))
Innym sposobem uzyskania ISQLServerErrorInfo wskaźnik jest wywołanie QueryInterface metoda-uzyskane na ISQLErrorInfo wskaźnik.Należy zauważyć, że ponieważ ISQLServerErrorInfo zawiera nadzbiorem dostępnych informacji ISQLErrorInfo, warto przejdź bezpośrednio do ISQLServerErrorInfo przez GetCustomerErrorObject.
ISQLServerErrorInfo opisuje jeden interfejs element członkowski funkcja, ISQLServerErrorInfo::GetErrorInfo.Funkcja zwraca wskaźnik do struktury SSERRORINFO i wskaźnik do ciąg buforu.Oba wskaźniki odwoływać się do pamięci konsument musi cofnąć za pomocą IMalloc::Free metoda.
SSERRORINFO struktury członków są interpretowane przez konsumenta w następujący sposób.
Element członkowski |
Opis |
---|---|
pwszMessage |
SQL Server komunikat o błędzie.Identyczne ciąg zwracany w IErrorInfo::GetDescription. |
pwszServer |
Nazwa wystąpienie SQL Server dla sesja. |
pwszProcedure |
Jeśli jest to stosowne, nazwę procedury, w której pochodzi błąd.Pusty ciąg inaczej. |
lNative |
SQL Server numer błąd macierzysty.Taka sama, jak wartość zwracana w plNativeError parametr ISQLErrorInfo::GetSQLInfo. |
bState |
Stan SQL Server komunikat o błędzie. |
bIdentyfikator klasy |
Wskaźnik ważności SQL Server komunikat o błędzie. |
wLineNumber |
Gdy ma to zastosowanie, numer wiersza procedura składowana, w którym wystąpił błąd. |