Szczegóły błędów programu SQL Server
The SQL Server Native klient OLE DB dostawca defines the dostawca-specific error interfejs ISQLServerErrorInfo.Interfejs zwraca więcej szczegółów dotyczących SQL Server błąd i jest przydatne, gdy polecenie wykonania lub czynności zestaw wierszy nie powiedzie się.
Istnieją dwa sposoby uzyskania dostępu do ISQLServerErrorInfo interfejs.
Konsument może wywołać IErrorRecords::GetCustomerErrorObject uzyskanie ISQLServerErrorInfo wskaźnika, jak pokazano w następującym przykładzie kodu.(Nie jest wymagane do uzyskania ISQLErrorInfo. ) Oba ISQLErrorInfo and ISQLServerErrorInfo są niestandardowych obiektów błąd OLE DB, z ISQLServerErrorInfo , przy czym interfejs, który służy do wyświetlania informacji o błędach serwera, łącznie ze szczegółami, takie jak procedura nazwy i linii liczby.
// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
nRec, IID_ISQLServerErrorInfo,
(IUnknown**)&pISQLServerErrorErrorInfo)))
Innym sposobem na uzyskanie ISQLServerErrorInfo kursor znajduje się na wywoływanie Metoda QueryInterface wykonana Metoda już otrzymanych ISQLErrorInfo wskaźnika.Należy zauważyć, że ponieważ ISQLServerErrorInfo zawiera nadzbiorem dostępnych z informacjiISQLErrorInfo, warto przejść bezpośrednio do ISQLServerErrorInfo through GetCustomerErrorObject.
The ISQLServerErrorInfo interfejs exposes one element członkowski funkcja, ISQLServerErrorInfo::GetErrorInfo.Funkcja ta zwraca wskaźnik do struktury SSERRORINFO i wskaźnik do buforu ciągów.Oba wskaźniki odwoływać się do pamięci, konsument musi zwolnić za pomocą IMalloc::Free metoda.
Członkowie struktury SSERRORINFO są interpretowane przez konsumenta w następujący sposób.
Element członkowski |
Description |
|---|---|
pwszMessage |
SQL Server komunikat o błędzie.Taka sama, jak ciąg zwracany w IErrorInfo::GetDescription. |
pwszServer |
Nazwa wystąpienie programu SQL Server dla tej sesja. |
pwszProcedure |
W razie potrzeby nazwę procedury, w której pochodzi ten błąd.Pusty ciąg inaczej. |
lNative |
SQL Server Błąd macierzysty numer.Taka sama, jak wartość zwracana w plNativeError parametrISQLErrorInfo::GetSQLInfo. |
bState |
Stan SQL Server komunikat o błędzie. |
bClass |
Wskaźnik ważności SQL Server komunikat o błędzie. |
wLineNumber |
Gdy ma to zastosowanie, numer wiersza procedura przechowywana, na którym wystąpił błąd. |