基於資料庫管理系統(DBMS)的驅動程式會向資料庫管理系統發送請求,並透過驅動程式管理器將資訊回傳給應用程式。 由於驅動程式是與驅動程式管理器介面的元件,它會格式化並回傳 SQLGetDiagRec 的參數。
例如,若使用 SQL/Services 時,Microsoft 的 Oracle Db 驅動程式遇到無效游標名稱,可能會從 SQLGetDiagRec 回傳以下數值:
SQLSTATE: "34000"
Native Error: 0
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver]Invalid cursor name: EMPLOYEE_CURSOR."
由於錯誤發生在驅動程式,因此在診斷訊息中加入了廠商([Microsoft])和驅動程式([ODBC Rdb Driver])的前綴。
如果資料庫管理系統找不到資料表 EMPLOYEE,驅動程式可能會格式化並回傳以下 SQLGetDiagRec 的值:
SQLSTATE: "42S02"
Native Error: -1
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver][Rdb] %SQL-F-RELNOTDEF, Table EMPLOYEE "
"is not defined in schema."
由於錯誤發生在資料來源,驅動程式在診斷訊息中加入了資料來源識別碼([Rdb])的前綴。 由於驅動程式是與資料來源介面的元件,因此在診斷訊息中加入廠商([Microsoft])前綴及識別碼([ODBC Rdb驅動程式])。