Partilhar via


ISQLServerErrorInfo::GetErrorInfo (Provedor OLE DB do cliente nativo)

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)

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) no futuro.

Retorna um ponteiro para uma estrutura SSERRORINFO do provedor OLE DB do SQL Server Native Client que contém os detalhes do erro do SQL Server.

O provedor OLE DB do SQL Server Native Client 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 provedor OLE DB do SQL Server Native Client não pôde alocar memória suficiente para concluir a solicitação.

Comentários

O provedor OLE DB do SQL Server Native Client 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)