Condividi tramite


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)

Download del driver OLE DB

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.

Vedi anche

RAISERROR (Transact-SQL)