Sdílet prostřednictvím


Příklad diagnostiky ovladače DBMS-Based

Ovladač založený na DBMS odesílá požadavky do DBMS a vrací informace do aplikace prostřednictvím Správce ovladačů. Vzhledem k tomu, že ovladač je komponenta, která pracuje se Správcem ovladačů, formátuje a vrací argumenty pro SQLGetDiagRec.

Pokud například při použití SQL/Services došlo u ovladače Microsoftu pro Oracle Rdb k neplatnému názvu kurzoru, může vrátit následující hodnoty z SQLGetDiagRec:

SQLSTATE:         "34000"  
Native Error:      0  
Diagnostic Msg:   "[Microsoft][ODBC Rdb Driver]Invalid cursor name: EMPLOYEE_CURSOR."  

Protože došlo k chybě v ovladači, přidala předpony do diagnostické zprávy pro dodavatele ([Microsoft]) a ovladač ([ovladač ODBC Rdb]).

Pokud DBMS nemůže najít tabulku EMPLOYEE, ovladač může formátovat a vrátit následující hodnoty z SQLGetDiagRec:

SQLSTATE:         "42S02"  
Native Error:      -1  
Diagnostic Msg:   "[Microsoft][ODBC Rdb Driver][Rdb] %SQL-F-RELNOTDEF, Table EMPLOYEE "  
                  "is not defined in schema."  

Protože došlo k chybě ve zdroji dat, ovladač přidal do diagnostické zprávy předponu identifikátoru zdroje dat ([Rdb]). Vzhledem k tomu, že ovladač byl komponentou, která rozhraním ke zdroji dat, přidal do diagnostické zprávy předpony pro dodavatele ([Microsoft]) a identifikátor ([ODBC Rdb Driver]).