Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der OLE DB-Anbieter von SQL Server Native Client definiert die anbieterspezifische Fehlerschnittstelle ISQLServerErrorInfo. Die Schnittstelle gibt mehr Details zu einem SQL Server-Fehler zurück und ist hilfreich, wenn Befehlsausführungs- oder Rowsetvorgänge fehlschlagen.
Es gibt zwei Möglichkeiten zum Abrufen des Zugriffs auf die ISQLServerErrorInfo-Schnittstelle .
Der Consumer ruft möglicherweise IErrorRecords::GetCustomerErrorObject auf, um einen ISQLServerErrorInfo-Zeiger abzurufen, wie im folgenden Codebeispiel gezeigt. (Es ist nicht erforderlich, ISQLErrorInfo abzurufen.) Sowohl ISQLErrorInfo als auch ISQLServerErrorInfo sind benutzerdefinierte OLE DB-Fehlerobjekte, wobei ISQLServerErrorInfo die Schnittstelle ist, um Informationen zu Serverfehlern abzurufen, einschließlich Details wie Prozedurname und Zeilennummern.
// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
nRec, IID_ISQLServerErrorInfo,
(IUnknown**)&pISQLServerErrorErrorInfo)))
Eine weitere Möglichkeit zum Abrufen eines ISQLServerErrorInfo-Zeigers besteht darin, die QueryInterface-Methode für einen bereits abgerufenen ISQLErrorInfo-Zeiger aufzurufen. Beachten Sie, dass es sinnvoll ist, direkt über GetCustomerErrorObject zu ISQLServerErrorInfo zu wechseln, da ISQLServerErrorInfo eine Obermenge der von ISQLErrorInfo verfügbaren Informationen enthält.
Die ISQLServerErrorInfo-Schnittstelle macht eine Memberfunktion verfügbar, ISQLServerErrorInfo::GetErrorInfo. Die Funktion gibt einen Zeiger auf eine SSERRORINFO-Struktur und einen Zeiger auf einen Zeichenfolgenpuffer zurück. Beide Zeiger verweisen auf den Speicher, den der Consumer mithilfe der IMalloc::Free-Methode verarbeiten muss.
Elemente der SSERRORINFO-Struktur werden vom Verbraucher wie folgt interpretiert.
| Mitglied | BESCHREIBUNG |
|---|---|
| pwszMessage | SQL Server-Fehlermeldung. Identisch mit der in IErrorInfo::GetDescription zurückgegebenen Zeichenfolge. |
| pwszServer | Name der Instanz von SQL Server für die Sitzung. |
| pwszProcedure | Gegebenenfalls der Name der Prozedur, in der der Fehler aufgetreten ist. Andernfalls eine leere Zeichenfolge. |
| lNative | Systemeigene SQL Server-Fehlernummer. Identisch mit dem wert, der im plNativeError-Parameter von ISQLErrorInfo::GetSQLInfo zurückgegeben wird. |
| bState | Status einer SQL Server-Fehlermeldung. |
| bClass | Schweregrad einer SQL Server-Fehlermeldung. |
| wLineNumber | Falls zutreffend, die Zeilennummer einer gespeicherten Prozedur, für die der Fehler aufgetreten ist. |