Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Microsoft Fabric
OLE DB-drivrutinen för SQL Server definierar det leverantörsspecifika felgränssnittet ISQLServerErrorInfo. Gränssnittet ger mer detaljer om ett SQL Server-fel och är värdefullt när kommandoexekvering eller raduppsättningsoperationer misslyckas.
Det finns två sätt att få tillgång till ISQLServerErrorInfo-gränssnittet .
Konsumenten kan anropa IErrorRecords::GetCustomerErrorObject för att få en ISQLServerErrorInfo-pekare , som visas i följande kodexempel. (Det finns inget behov av att skaffa ISQLErrorInfo.) Både ISQLErrorInfo och ISQLServerErrorInfo är anpassade felobjekt för OLE DB, där ISQLServerErrorInfo är gränssnittet för att erhålla information om serverfel, inklusive detaljer som procedurnamn och radnummer.
// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
nRec, IID_ISQLServerErrorInfo,
(IUnknown**)&pISQLServerErrorErrorInfo)))
Ett annat sätt att få en ISQLServerErrorInfo-pekare är att anropa QueryInterface-metoden på en redan erhållen ISQLErrorInfo-pekare . Observera att eftersom ISQLServerErrorInfo innehåller en övermängd av informationen som finns tillgänglig från ISQLErrorInfo, är det logiskt att gå direkt till ISQLServerErrorInfo via GetCustomerErrorObject.
ISQLServerErrorInfo-gränssnittet exponerar en medlemsfunktion, ISQLServerErrorInfo::GetErrorInfo. Funktionen returnerar en pekare till en SSERRORINFO-struktur och en pekare till en strängbuffert. Båda pekarna refererar till minne som konsumenten måste deallocera med hjälp av metoden IMalloc::Free .
SSERRORINFO-strukturens medlemmar tolkas av konsumenten enligt följande.
| Medlem | Description |
|---|---|
| pwszMessage | SQL Server-felmeddelande. Identisk med strängen som returnerades i IErrorInfo::GetDescription. |
| pwszServer | Namnet på instansen av SQL Server för sessionen. |
| pwszProcedure | Om lämpligt, namnet på proceduren där felet uppstod. En tom sträng annars. |
| Infödd | SQL Server native-felnummer. Identiskt med värdet som returneras i parametern plNativeError i ISQLErrorInfo::GetSQLInfo. |
| bState | Felmeddelandet om tillstånd för en SQL Server. |
| bClass | Felmeddelande om svårighetsgrad i en SQL Server. |
| wLineNumber | När det är tillämpligt, radnumret för en lagrad procedur där felet inträffade. |