Compartir a través de


ISQLServerErrorInfo::GetErrorInfo (OLE DB)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Descargar controlador OLE DB

Devuelve un puntero a una estructura SSERRORINFO de OLE DB Driver for SQL Server que contiene los detalles del error SQL Server.

OLE DB Driver for SQL Server define la interfaz de errores ISQLServerErrorInfo. Esta interfaz devuelve los detalles de un error de SQL Server, incluso la gravedad y el estado.

Sintaxis

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

Argumentos

ppSSErrorInfo[out]
Un puntero a una estructura SSERRORINFO. Si el método produce un error o no hay información de SQL Server asociada al error, el proveedor no asigna memoria y se asegura de que el argumento ppSSErrorInfo dé como resultado un puntero nulo.

ppErrorStrings[out]
Un puntero a una cadena de caracteres Unicode. Si el método produce un error o no hay información de SQL Server asociada a un error, el proveedor no asigna memoria y se asegura de que el argumento ppErrorStrings dé como resultado un puntero nulo. Cuando se libera el argumento ppErrorStrings con el método IMalloc::Free, se liberan los tres miembros de cadena de la estructura SSERRORINFO devuelta, ya que la memoria se asigna en un bloque.

Valores de código de retorno

S_OK
El método se ha llevado a cabo de forma correcta.

E_INVALIDARG
El argumento ppSSErrorInfo o ppErrorStrings era NULL.

E_OUTOFMEMORY
OLE DB Driver for SQL Server no pudo asignar memoria suficiente para completar la solicitud.

Observaciones

El controlador OLE DB para SQL Server asigna memoria para las cadenas SSERRORINFO y OLECHAR devueltas a través de los punteros pasados por el consumidor. El consumidor debe desasignar esta memoria mediante el método IMalloc::Free cuando ya no requiera tener acceso a los datos de error.

La estructura SSERRORINFO se define como sigue:

typedef struct tagSSErrorInfo  
   {  
   LPOLESTR pwszMessage;  
   LPOLESTR pwszServer;  
   LPOLESTR pwszProcedure;  
   LONG lNative;  
   BYTE bState;  
   BYTE bClass;  
   WORD wLineNumber;  
   }  
SSERRORINFO;  
Member Descripción
pwszMessage El mensaje de error de SQL Server. El mensaje se devuelve a través del método IErrorInfo::GetDescription.
pwszServer El nombre de la instancia de SQL Server en la que se ha producido el error.
pwszProcedure El nombre del procedimiento almacenado que genera el error si éste se produjo en un procedimiento almacenado; de lo contrario, una cadena vacía.
lNative El número de error de SQL Server. El número de error es idéntico al devuelto en el parámetro plNativeError del método ISQLErrorInfo::GetSQLInfo.
bState El estado del error de SQL Server.
bClass La gravedad del error de SQL Server.
wLineNumber Cuando sea aplicable, la línea de un procedimiento almacenado de SQL Server que generó el mensaje de error. Si no hay implicado ningún procedimiento, se utiliza el valor predeterminado 1.

Los punteros de las direcciones de referencia de la estructura en la cadena devuelta en el argumento ppErrorStrings.

Consulte también

RAISERROR (Transact-SQL)