Esempio di diagnostica di gateway
In un'architettura del gateway un driver invia richieste a un gateway che supporta ODBC. Il gateway invia le richieste a un sistema DBMS. Poiché è il componente che si interfaccia con Gestione driver, il driver formatta e restituisce gli argomenti per SQLGetDiagRec.
Ad esempio, se Oracle basa un gateway per Rdb su Microsoft Open Data Services e se Rdb non riesce a trovare la tabella EMPLOYEE, il gateway potrebbe generare questo messaggio di diagnostica:
"[42S02][-1][DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not defined "
"in schema."
Poiché l'errore si è verificato nell'origine dati, il gateway ha aggiunto un prefisso per l'identificatore dell'origine dati ([Rdb]) al messaggio di diagnostica. Poiché il gateway era il componente che si interfacciava con l'origine dati, aggiungeva i prefissi per il fornitore ([DEC]) e l'identificatore ([ODS Gateway]) al messaggio di diagnostica. È stato aggiunto anche il valore SQLSTATE e il codice errore Rdb all'inizio del messaggio di diagnostica. Ciò ha consentito di mantenere la semantica della propria struttura di messaggi e fornire comunque le informazioni di diagnostica ODBC al driver. Il driver analizza le informazioni sull'errore associate all'istruzione di errore dal gateway.
Poiché il driver del gateway è il componente che si interfaccia con Gestione driver, usa il messaggio di diagnostica precedente per formattare e restituire i valori seguenti da SQLGetDiagRec:
SQLSTATE: "42S02"
Native Error: -1
Diagnostic Msg: "[DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not "
"defined in schema."