Esempio di diagnostica di driver basato su DBMS
Un driver basato su DBMS invia richieste a un sistema DBMS e restituisce informazioni all'applicazione tramite Gestione driver. Poiché il driver è il componente che si interfaccia con il driver manager, formatta e restituisce argomenti per SQLGetDiagRec.
Se, ad esempio, usando SQL/Services, un driver Microsoft per Oracle Rdb ha rilevato un nome di cursore non valido, potrebbe restituire i valori seguenti da SQLGetDiagRec:
SQLSTATE: "34000"
Native Error: 0
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver]Invalid cursor name: EMPLOYEE_CURSOR."
Poiché l’errore si è verificato nel driver, questo ha aggiunto solo prefissi al messaggio di diagnostica per il fornitore ([Microsoft]) e il driver ([ODBC Rdb Driver]).
Se il DBMS non ha potuto trovare la tabella EMPLOYEE, il driver potrebbe formattare e restituire i valori seguenti da SQLGetDiagRec:
SQLSTATE: "42S02"
Native Error: -1
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver][Rdb] %SQL-F-RELNOTDEF, Table EMPLOYEE "
"is not defined in schema."
Poiché l’errore si è verificato nell’origine dati, il driver ha aggiunto un prefisso all'identificatore dell’origine dati ([Rdb]) nel messaggio di diagnostica. Poiché il driver era il componente che si interfacciava con l'origine dati, ha aggiunto prefissi per il fornitore ([Microsoft]) e l’identificatore ([ODBC Rdb Driver]) nel messaggio di diagnostica.