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.