Contents|Index|Previous|Next
DBMS-Based Driver Diagnostic Example
A DBMS-based driver sends requests to a DBMS and returns information to the
application through the Driver Manager. Because it is the component that
interfaces with the Driver Manager, it formats and returns arguments for SQLGetDiagRec.
For example, if a Microsoft driver for DEC
’s Rdb using SQL/Services encountered an invalid cursor name, it might return
the following values from SQLGetDiagRec:
SQLSTATE: "34000"
Native Error: 0
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver]Invalid cursor name:
EMPLOYEE_CURSOR."
Because the error occurred in the driver, it added prefixes to the diagnostic
message for the vendor ([Microsoft]) and the driver ([ODBC Rdb Driver]).
If the DBMS could not find the table EMPLOYEE, the driver might format and
return the following values from SQLGetDiagRec:
SQLSTATE: "42S02"
Native Error: -1
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver][Rdb] %SQL-F-RELNOTDEF, Table
EMPLOYEE "
"is not defined in schema."
Because the error occurred in the data source, the driver added a prefix for
the data source identifier ([Rdb]) to the diagnostic message. Because the driver
was the component that interfaced with the data source, it added prefixes for
its vendor ([Microsoft]) and identifier ([ODBC Rdb Driver]) to the diagnostic
message.