ISQLServerErrorInfo::GetErrorInfo (OLE DB)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Retorna um ponteiro para uma estrutura SSERRORINFO do Driver do OLE DB para SQL Server que contém os detalhes de erros do SQL Server.
O Driver do OLE DB para SQL Server define a interface de erro ISQLServerErrorInfo. Essa interface retorna detalhes de um erro do SQL Server, incluindo gravidade e estado.
Sintaxe
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
Argumentos
ppSSErrorInfo[out]
Um ponteiro para uma estrutura SSERRORINFO. Se o método falhar ou se não houver informações do SQL Server associadas ao erro, o provedor não alocará nenhuma memória e garantirá que o argumento ppSSErrorInfo seja um ponteiro nulo na saída.
ppErrorStrings[out]
Um ponteiro para um ponteiro de cadeia de caracteres Unicode. Se o método falhar ou se não houver informações do SQL Server associadas a um erro, o provedor não alocará nenhuma memória e garantirá que o argumento ppErrorStrings seja um ponteiro nulo na saída. A liberação do argumento ppErrorStrings com o método IMalloc::Free libera os três membros de cadeia de caracteres individuais da estrutura SSERRORINFO retornada, pois a memória é alocada em um bloco.
Valores do código de retorno
S_OK
O método foi bem-sucedido.
E_INVALIDARG
O argumento ppSSErrorInfo ou ppErrorStrings foi NULL.
E_OUTOFMEMORY
O Driver do OLE DB para SQL Server não pôde alocar memória suficiente para concluir a solicitação.
Comentários
O OLE DB Driver for SQL Server aloca memória para as cadeias de caracteres SSERRORINFO e OLECHAR retornadas por meio dos ponteiros passados pelo consumidor. O consumidor precisará desalocar essa memória usando o método IMalloc::Free quando não for mais necessário acessar os dados de erro.
A estrutura SSERRORINFO é definida da seguintes maneira:
typedef struct tagSSErrorInfo
{
LPOLESTR pwszMessage;
LPOLESTR pwszServer;
LPOLESTR pwszProcedure;
LONG lNative;
BYTE bState;
BYTE bClass;
WORD wLineNumber;
}
SSERRORINFO;
Membro | DESCRIÇÃO |
---|---|
pwszMessage | A mensagem de erro do SQL Server. A mensagem é retornada por meio do método IErrorInfo::GetDescription. |
pwszServer | O nome da instância do SQL Server na qual o erro ocorreu. |
pwszProcedure | O nome do procedimento armazenado que gera o erro, se o erro ocorreu em um procedimento armazenado; caso contrário, uma cadeia de caracteres vazia. |
lNative | O número de erro do SQL Server. O número do erro é idêntico àquele retornado no parâmetro plNativeError do método ISQLErrorInfo::GetSQLInfo. |
bState | O estado do erro do SQL Server. |
bClass | A severidade do erro do SQL Server. |
wLineNumber | Quando aplicável, a linha de um procedimento armazenado do SQL Server que gerou a mensagem de erro. Se nenhum procedimento estiver envolvido, o valor padrão será 1. |
Os ponteiros nos endereços de referência da estrutura na cadeia de caracteres retornada no argumento ppErrorStrings.