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 é necessário substituir, alterar ou mascarar erros ou avisos recebidos de outro componente ODBC.

  • Pode adicionar um registro de status adicional quando receber uma mensagem de diagnóstico de outro componente ODBC. O registro adicionado deve adicionar valor de informações reais à mensagem original.

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

  • Deve prefixar seu identificador de fornecedor, seu identificador de componente e o identificador da fonte de dados para a mensagem de diagnóstico recebida 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 seu identificador de fornecedor e seu identificador de componente para a mensagem de diagnóstico.

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

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

  • Deve inicializar os argumentos de saída de 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 utilizam um gateway, o driver ou um gateway que ofereça suporte a ODBC pode definir o SQLSTATE.