Sdílet prostřednictvím


Příklad diagnostiky ovladače File-Based

Ovladač založený na souborech funguje jako ovladač ODBC i jako zdroj dat. Proto může generovat chyby a upozornění jako součást připojení ODBC i jako zdroj dat. Protože je to také komponenta, která pracuje se Správcem ovladačů, formátuje a vrací argumenty pro SQLGetDiagRec.

Pokud například ovladač Microsoftu pro dBASE nemohl přidělit dostatečnou paměť, může vrátit následující hodnoty z sqlGetDiagRec:

SQLSTATE:         "HY001"  
Native Error:      42052  
Diagnostic Msg:   "[Microsoft][ODBC dBASE Driver]Unable to allocate sufficient memory."  

Vzhledem k tomu, že tato chyba nesouvisí se zdrojem dat, ovladač přidal pouze předpony do diagnostické zprávy pro dodavatele ([Microsoft]) a ovladač ([ODBC dBASE Driver]).

Pokud ovladač nemůže najít soubor Employee.dbf, může vrátit následující hodnoty z SQLGetDiagRec:

SQLSTATE:         "42S02"  
Native Error:      -1305  
Diagnostic Msg:   "[Microsoft][ODBC dBASE Driver][dBASE]No such table or object"  

Vzhledem k tomu, že tato chyba souvisela se zdrojem dat, ovladač přidal formát souboru zdroje dat ([dBASE]) jako předponu diagnostické zprávy. Vzhledem k tomu, že ovladač byl také součástí, která je součástí rozhraní se zdrojem dat, přidala předpony pro dodavatele ([Microsoft]) a ovladač ([ODBC dBASE Driver]).