ISQLServerErrorInfo::GetErrorInfo (proveedor OLE DB de Native Client)
Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)
Importante
SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 (16.x) y SQL Server Management Studio 19 (SSMS). Para nuevos trabajos de desarrollo, no se recomiendan ni el proveedor OLE DB de SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB) heredado. Cambie al nuevo Controlador Microsoft OLE DB para SQL Server de ahora en adelante.
Devuelve un puntero a una estructura SSERRORINFO del proveedor OLE DB de SQL Server Native Client que contiene los detalles del error de SQL Server.
El proveedor OLE DB de SQL Server Native Client define la interfaz de error 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
El proveedor OLE DB de SQL Server Native Client no pudo asignar memoria suficiente para completar la solicitud.
Comentarios
El proveedor OLE DB de SQL Server Native Client 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.