次の方法で共有


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]) のプレフィックスが追加されました。