DBMS ベースのドライバー診断の例
DBMS ベースのドライバーは、DBMS に要求を送信し、ドライバー マネージャーを介してアプリケーションに情報を返します。 ドライバーはドライバー マネージャーと連携するコンポーネントであるため、SQLGetDiagRec の引数をフォーマットして返します。
たとえば、SQL/Services を使用している場合、Oracle Rdb の Microsoft ドライバーで無効なカーソル名が検出された場合、SQLGetDiagRec から次の値が返されることがあります。
SQLSTATE: "34000"
Native Error: 0
Diagnostic Msg: "[Microsoft][ODBC Rdb Driver]Invalid cursor name: EMPLOYEE_CURSOR."
ドライバーでエラーが発生したため、ベンダー ([Microsoft]) とドライバー ([ODBC Rdb ドライバー]) の診断メッセージにプレフィックスが追加されました。
DBMS がテーブル 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 Driver]) のプレフィックスが追加されました。