Partager via


ISQLServerErrorInfo ::GetErrorInfo (fournisseur OLE DB Native Client)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.

Retourne un pointeur vers une structure SSERRORINFO du fournisseur OLE DB SQL Server Native Client contenant les détails de l’erreur SQL Server.

Le fournisseur OLE DB SQL Server Native Client définit l’interface d’erreur ISQLServerErrorInfo . Cette interface retourne les détails d’une erreur SQL Server, notamment sa gravité et son état.

Syntaxe

  
HRESULT GetErrorInfo(  
   SSERRORINFO**ppSSErrorInfo,  
   OLECHAR**ppErrorStrings);  

Arguments

ppSSErrorInfo[out]
Pointeur vers une structure SSERRORINFO. Si la méthode échoue ou qu’il n’existe pas d’informations SQL Server associées à l’erreur, le fournisseur n’alloue pas de mémoire et vérifie que l’argument ppSSErrorInfo est un pointeur null en sortie.

ppErrorStrings[out]
Pointeur vers un pointeur de chaîne de caractère Unicode. Si la méthode échoue ou qu’il n’existe pas d’informations SQL Server associées à l’erreur, le fournisseur n’alloue pas de mémoire et vérifie que l’argument ppErrorStrings est un pointeur null en sortie. La libération de l’argument ppErrorStrings avec la méthode IMalloc::Free libère les trois membres de type chaîne individuels de la structure SSERRORINFO retournée, la mémoire étant allouée dans un bloc.

Codet de retour

S_OK
S_OK

E_INVALIDARG
L'argument ppSSErrorInfo ou ppErrorStrings était NULL.

E_OUTOFMEMORY
Le fournisseur OLE DB SQL Server Native Client n’a pas pu allouer suffisamment de mémoire pour terminer la requête.

Notes

Le fournisseur OLE DB SQL Server Native Client alloue de la mémoire pour les chaînes SSERRORINFO et OLECHAR retournées par le biais des pointeurs passés par le consommateur. Le consommateur doit désallouer cette mémoire avec la méthode IMalloc::Free quand il n’est plus nécessaire d’accéder aux données d’erreur.

La structure SSERRORINFO est définie comme suit :

typedef struct tagSSErrorInfo  
   {  
   LPOLESTR pwszMessage;  
   LPOLESTR pwszServer;  
   LPOLESTR pwszProcedure;  
   LONG lNative;  
   BYTE bState;  
   BYTE bClass;  
   WORD wLineNumber;  
   }  
SSERRORINFO;  
Membre Description
pwszMessage Message d'erreur de SQL Server. Le message est retourné via la méthode IErrorInfo::GetDescription.
pwszServer Nom de l'instance SQL Server sur laquelle l'erreur s'est produite.
pwszProcedure Le nom de la procédure stockée qui génère l'erreur si l'erreur s'est produite dans une procédure stockée ; sinon, une chaîne vide.
lNative Numéro d'erreur SQL Server. Le numéro d’erreur est identique à celui retourné dans le paramètre plNativeError de la méthode ISQLErrorInfo::GetSQLInfo.
bState État de l'erreur SQL Server.
bClass Gravité de l'erreur SQL Server.
wLineNumber Le cas échéant, la ligne d'une procédure stockée SQL Server qui a généré le message d'erreur. Si aucune procédure n'est impliquée, la valeur par défaut est 1.

Pointeurs dans les adresses de type référence de la structure de la chaîne retournée dans l’argument ppErrorStrings.

Voir aussi

RAISERROR (Transact-SQL)