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.