Hitachi

Hitachi Advanced Data Binder AP開発ガイド


17.2.2 トラブルシュートのポイント

〈この項の構成〉

(1) ODBCトレースを参照する際のポイント

ODBCトレースを参照することによって,ドライバマネージャが,APやBIツール,ODBCモジュールなどから受け付けた要求と,その返却内容を確認できます。

APやBIツール,ODBCモジュールなどは,ドライバマネージャからエラーが返却された場合,ODBC関数のSQLGetDiagFieldおよびSQLGetDiagRecを発行し,エラーの詳細情報を取得するのが一般的です。特に,SQLGetDiagRecで得られるSQLSTATENativeError,およびMessageTextは有用なトラブルシュート情報となります。

メモ

ODBCトレースは,HADB ODBCドライバからの要求や返却内容を示すものではありません。

(2) メッセージテキストからエラー発生元を特定する際のポイント

メッセージテキストが出力されている場合,そのメッセージテキストから出力元を判別することができます。ポイントを次に示します。

  1. メッセージテキスト中に,KFAAで始まるメッセージIDがないかを確認してください。さらに,メッセージテキスト中に,[Hitachi Advanced Data Binder] [ODBC Driver]タグがないかを確認してください。

    上記の条件に該当する場合は,HADB(HADB ODBCドライバも含む)でエラーまたは警告が発生しています。

    • KFAAで始まるメッセージがKFAA72000番台の場合は,HADB ODBCドライバでエラーが発生しています。

    • 上記以外のメッセージIDの場合は,HADBサーバまたはHADBクライアントでエラーが発生しています。

    • メッセージIDおよびタグが途中までしか出力されていない場合は,HADBサーバまたはHADBクライアントで処理が行われたと考えられます。この場合,各種トレースやログを確認して,完全なメッセージを取得してください。

  2. メッセージテキスト中に,[Microsoft] [ODBC Driver Manager]タグがないかを確認してください。タグがある場合は,ドライバマネージャでエラーまたは警告が発生しています。

    この場合,HADB(HADB ODBCドライバも含む)では処理が行われていない可能性が高いと考えられます。シーケンスエラーなど,致命的なエラーのケースが多く見られるため,APのデバッグ,BIツールまたはODBCモジュールの設定の見直しを行ってください。

  3. 上記の1,2で確認したキーワードがない場合は,ドライバマネージャおよびHADB(HADB ODBCドライバも含む)では処理が行われていない可能性が高いと考えられます。BIツールまたはODBCモジュールの設定で,使用するインタフェースやDBMSの指定に誤りなどがないか,設定を確認してください。

(3) SQLSTATEを参照する際のポイント

エラーの発生元を特定したあとに,SQLSTATEを確認してエラーの原因を特定します。

(4) SQLSTATEおよびメッセージテキストの取得方法

SQLSTATEおよびメッセージテキストは,次のODBC関数を実行して取得します。