Udostępnij za pośrednictwem


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.

Zobacz także

Odwołanie

Koncepcje