ISQLServerErrorInfo::GetErrorInfo (OLE DB)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
Restituisce un puntatore a una struttura SSERRORINFO di OLE DB Driver per SQL Server contenente i dettagli sugli errori di SQL Server.
OLE DB Driver per SQL Server definisce l'interfaccia degli errori ISQLServerErrorInfo. Questa interfaccia restituisce i dettagli di un errore di SQL Server, inclusi la gravità e lo stato.
Sintassi
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
Argomenti
ppSSErrorInfo[out]
Puntatore a una struttura SSERRORINFO. Se il metodo non riesce o non sono disponibili informazioni di SQL Server associate all'errore, il provider non alloca memoria e verifica che l'argomento ppSSErrorInfo sia un puntatore Null nell'output.
ppErrorStrings[out]
Puntatore a un puntatore stringa carattere Unicode. Se il metodo non riesce o non sono disponibili informazioni di SQL Server associate a un errore, il provider non alloca memoria e verifica che l'argomento ppErrorStrings sia un puntatore Null nell'output. Liberando l'argomento ppErrorStrings con il metodo IMalloc::Free, vengono liberati i tre singoli membri della stringa della struttura SSERRORINFO restituita, in quanto la memoria è allocata in un blocco.
Valori del codice restituito
S_OK
Il metodo è riuscito.
E_INVALIDARG
L'argomento ppSSErrorInfo o ppErrorStrings era NULL.
E_OUTOFMEMORY
OLE DB Driver per SQL Server non è riuscito ad allocare una quantità di memoria sufficiente per completare la richiesta.
Osservazioni:
Il driver OLE DB per SQL Server alloca memoria per le stringhe SSERRORINFO e OLECHAR restituite tramite i puntatori passati dal consumer. Il consumer deve deallocare questa memoria tramite il metodo IMalloc::Free quando l'accesso ai dati dell'errore non è più necessario.
La struttura SSERRORINFO viene definita nel modo seguente:
typedef struct tagSSErrorInfo
{
LPOLESTR pwszMessage;
LPOLESTR pwszServer;
LPOLESTR pwszProcedure;
LONG lNative;
BYTE bState;
BYTE bClass;
WORD wLineNumber;
}
SSERRORINFO;
Membro | Descrizione |
---|---|
pwszMessage | Messaggio di errore da SQL Server. Il messaggio viene restituito attraverso il metodo IErrorInfo::GetDescription. |
pwszServer | Nome dell'istanza di SQL Server in cui si è verificato l'errore. |
pwszProcedure | Nome della stored procedure che genera l'errore se esso si è verificato all'interno della stessa, in caso contrario, una stringa vuota. |
lNative | Numero di errore di SQL Server. Il numero di errore è identico a quello restituito nel parametro plNativeError del metodo ISQLErrorInfo::GetSQLInfo. |
bState | Stato dell'errore di SQL Server. |
bClass | Gravità dell'errore di SQL Server. |
wLineNumber | Quando applicabile, riga di una stored procedure di SQL Server che ha generato il messaggio di errore. Se non è coinvolta alcuna procedura, il valore predefinito è 1. |
I puntatori nella struttura fanno riferimento agli indirizzi nella stringa restituita nell'argomento ppErrorStrings.