Partilhar via


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)

Baixar o driver do OLE DB

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.

Consulte Também

RAISERROR (Transact-SQL)