Partilhar via


Regras de manipulação de diagnóstico

As seguintes regras regem o tratamento de diagnósticos em SQLGetDiagRec e SQLGetDiagField.

Para todos os componentes ODBC:

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

  • Podem adicionar um registo de estado adicional quando recebem uma mensagem de diagnóstico de outro componente ODBC. O registo adicionado deve acrescentar valor real de informação à mensagem original.

Para o componente ODBC que faz interface direta com uma fonte de dados:

  • Deve prefixar o seu identificador de fornecedor, o seu identificador de componente e o identificador da fonte de dados à 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.

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

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

  • Deve devolver um código de erro nativo, se houver um disponível e relevante.

Para o componente ODBC que faz interface com o Gestor de Drivers:

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

  • Deve formatar e devolver a informação de diagnóstico como argumentos de saída do SQLGetDiagRec e SQLGetDiagField quando essa função é chamada.

Para um componente ODBC além do Gestor de Drivers:

  • Deve definir o SQLSTATE com base no erro nativo. Para drivers baseados em ficheiros e drivers baseados em DBMS que não utilizam gateway, o driver deve definir o SQLSTATE. Para drivers baseados em SGBD que utilizam um gateway, seja o driver ou um gateway que suporta ODBC pode definir o SQLSTATE.