Regole di gestione di diagnostica
Le regole seguenti disciplinano la gestione diagnostica in SQLGetDiagRec e SQLGetDiagField.
Per tutti i componenti ODBC:
Non devono sostituire, modificare o mascherare errori o avvisi ricevuti da un altro componente ODBC.
Possono aggiungere un record di stato aggiuntivo quando ricevono un messaggio di diagnostica da un altro componente ODBC. Il record aggiunto deve aggiungere un valore reale di informazioni al messaggio originale.
Per il componente ODBC che interfaccia direttamente un'origine dati:
Deve anteporre l'identificatore del fornitore, il relativo identificatore del componente e l'identificatore dell'origine dati al messaggio di diagnostica ricevuto dall'origine dati.
Deve preservare il codice errore nativo dell'origine dati.
Deve preservare il messaggio di diagnostica dell'origine dati.
Per qualsiasi componente ODBC che genera un errore o un avviso indipendentemente dall'origine dati:
Deve fornire il SQLSTATE corretto per l'errore o l'avviso.
Deve generare il testo del messaggio di diagnostica.
Deve anteporre il relativo identificatore del fornitore e il relativo identificatore del componente al messaggio di diagnostica.
Deve restituire un codice errore nativo, se disponibile e significativo.
Per il componente ODBC che si interfaccia con il driver manager:
Deve inizializzare gli argomenti di output di SQLGetDiagRec e SQLGetDiagField.
Deve formattare e restituire le informazioni di diagnostica come argomenti di output di SQLGetDiagRec e SQLGetDiagField quando viene chiamata tale funzione.
Per un componente ODBC diverso dal driver manager:
- Deve impostare SQLSTATE in base all'errore nativo. Per i driver basati su file e i driver basati su DBMS che non usano un gateway, il driver deve impostare il SQLSTATE. Per i driver basati su DBMS che usano un gateway, il driver o un gateway che supporta ODBC può impostare il SQLSTATE.