Esempio di diagnostica di driver basato su file
Un driver basato su file funge sia da driver ODBC che da origine dati. Può pertanto generare errori e avvisi sia come componente in una connessione ODBC che come origine dati. Poiché è anche il componente che si interfaccia con il driver manager, formatta e restituisce argomenti per SQLGetDiagRec.
Ad esempio, se un driver Microsoft per dBASE non è riuscito ad allocare memoria sufficiente, potrebbe restituire i valori seguenti da SQLGetDiagRec:
SQLSTATE: "HY001"
Native Error: 42052
Diagnostic Msg: "[Microsoft][ODBC dBASE Driver]Unable to allocate sufficient memory."
Poiché questo errore non era correlato all'origine dati, il driver ha aggiunto solo prefissi al messaggio di diagnostica per il fornitore ([Microsoft]) e il driver ([ODBC dBASE Driver]).
Se il driver non ha potuto trovare il file Employee.dbf, potrebbe restituire i valori seguenti da SQLGetDiagRec:
SQLSTATE: "42S02"
Native Error: -1305
Diagnostic Msg: "[Microsoft][ODBC dBASE Driver][dBASE]No such table or object"
Poiché questo errore era correlato all'origine dati, il driver ha aggiunto il formato di file dell'origine dati ([dBASE]) come prefisso al messaggio di diagnostica. Poiché il driver era anche il componente che si interfacciava con l'origine dati, ha aggiunto prefissi per il fornitore ([Microsoft]) e il driver ([ODBC dBASE Driver]).