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]).