Compartilhar via


Regras de tratamento de diagnóstico

As regras a seguir regem o tratamento de diagnóstico em SQLGetDiagRec e SQLGetDiagField.

Para todos os componentes ODBC:

  • Não deve substituir, alterar ou mascarar erros ou avisos recebidos de outro componente ODBC.

  • Pode adicionar um registro de status adicional quando receberem uma mensagem de diagnóstico de outro componente ODBC. O registro adicionado deve adicionar valor de informação real à mensagem original.

Para o componente ODBC que interage diretamente com uma fonte de dados:

  • Deve prefixar o identificador de fornecedor, o identificador de componente e o identificador da fonte de dados para a mensagem de diagnóstico que recebe da fonte de dados.

  • Deve preservar o código de erro nativo da fonte de dados.

  • Deve preservar a mensagem de diagnóstico da fonte de dados.

Para qualquer componente ODBC que gere um erro ou aviso, independente da fonte de dados:

  • Deve fornecer o SQLSTATE correto para o erro ou aviso.

  • Deve gerar o texto da mensagem de diagnóstico.

  • Deve prefixar o identificador de fornecedor e o identificador de componente na mensagem de diagnóstico.

  • Deve retornar um código de erro nativo, se um estiver disponível e for significativo.

Para o componente ODBC que interage com o Gerenciador de Driver:

  • Deve inicializar os argumentos de saída SQLGetDiagRec e SQLGetDiagField.

  • Deve formatar e retornar as informações de diagnóstico como argumentos de saída de SQLGetDiagRec e SQLGetDiagField quando essa função é chamada.

Para um componente ODBC diferente do Gerenciador de Driver:

  • Deve definir o SQLSTATE com base no erro nativo. Para drivers baseados em arquivo e drivers baseados em DBMS que não usam um gateway, o driver deve definir o SQLSTATE. Para drivers baseados em DBMS que usam um gateway, o driver ou um gateway compatível com ODBC pode definir o SQLSTATE.