Dela via


File-Based exempel på drivrutinsdiagnostik

En filbaserad drivrutin fungerar både som en ODBC-drivrutin och som en datakälla. Det kan därför generera fel och varningar både som en komponent i en ODBC-anslutning och som en datakälla. Eftersom det också är komponenten som samverkar med Driver Manager formateras och returneras argument för SQLGetDiagRec.

Om en Microsoft-drivrutin för dBASE till exempel inte kunde allokera tillräckligt med minne kan den returnera följande värden från SQLGetDiagRec:

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

Eftersom det här felet inte var relaterat till datakällan lade drivrutinen bara till prefix i diagnostikmeddelandet för leverantören ([Microsoft]) och drivrutinen ([ODBC dBASE Driver]).

Om drivrutinen inte kunde hitta filen Employee.dbf kan den returnera följande värden från SQLGetDiagRec:

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

Eftersom det här felet var relaterat till datakällan lade drivrutinen till filformatet för datakällan ([dBASE]) som ett prefix i diagnostikmeddelandet. Eftersom drivrutinen också var komponenten som samverkade med datakällan, lade den till prefix för leverantören ([Microsoft]) och drivrutinen ([ODBC dBASE Driver]).