Compartilhar via


ISQLServerErrorInfo::GetErrorInfo (OLE DB)

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

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 com o erro, o provedor não alocará nenhuma memória e assegurará 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 com um erro, o provedor não alocará nenhuma memória e assegurará 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 de código de retorno

  • S_OK
    O método foi bem-sucedido.

  • E_INVALIDARG
    O argumento ppSSErrorInfo ou ppErrorStrings era 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 deverá 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 de 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

Referência

RAISERROR (Transact-SQL)

Outros recursos

ISQLServerErrorInfo (OLE DB)