Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
OLE DB-stuurprogramma downloaden
De OLE DB Driver voor SQL Server definieert de provider-specifieke foutinterface ISQLServerErrorInfo. De interface geeft meer details terug over een SQL Server-fout en is waardevol wanneer commando-uitvoering of rowset-operaties falen.
Er zijn twee manieren om toegang te krijgen tot de ISQLServerErrorInfo-interface .
De consument kan IErrorRecords::GetCustomerErrorObject aanroepen om een ISQLServerErrorInfo-pointer te verkrijgen, zoals weergegeven in het volgende codevoorbeeld. (Het is niet nodig om ISQLErrorInfo te verkrijgen.) Zowel ISQLErrorInfo als ISQLServerErrorInfo zijn aangepaste OLE DB-foutobjecten, waarbij ISQLServerErrorInfo de interface is om informatie over serverfouten te verkrijgen, inclusief details zoals procedurenaam en regelnummers.
// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
nRec, IID_ISQLServerErrorInfo,
(IUnknown**)&pISQLServerErrorErrorInfo)))
Een andere manier om een ISQLServerErrorInfo-pointer te krijgen is door de QueryInterface-methode aan te roepen op een reeds verkregen ISQLErrorInfo-pointer . Let op dat omdat ISQLServerErrorInfo een superset bevat van de informatie die beschikbaar is van ISQLErrorInfo, het logisch is om direct naar ISQLServerErrorInfo te gaan via GetCustomerErrorObject.
De interface ISQLServerErrorInfo , maakt één lidfunctie beschikbaar, ISQLServerErrorInfo::GetErrorInfo. De functie geeft een pointer terug naar een SSERRORINFO-structuur en een pointer naar een stringbuffer. Beide pointers verwijzen naar geheugen dat de consument moet dealloceren met de IMalloc::Free-methode .
SSERRORINFO-structuurelementen worden door de consument als volgt geïnterpreteerd.
| Lid | Description |
|---|---|
| pwszMessage | SQL Server foutmelding. Identiek aan de string die in IErrorInfo::GetDescription wordt teruggegeven. |
| pwszServer | Naam van de instantie van SQL Server voor de sessie. |
| pwszProcedure | Indien passend, de naam van de procedure waaruit de fout is ontstaan. Een lege string anders. |
| Inheems | SQL Server native foutnummer. Identiek aan de waarde die wordt teruggegeven in de parameter plNativeError van ISQLErrorInfo::GetSQLInfo. |
| bState | Status van een SQL Server-foutmelding. |
| bClass | Ernst van een SQL Server-foutmelding. |
| wLineNumber | Indien van toepassing, het regelnummer van een opgeslagen procedure waarop de fout is opgetreden. |