Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


13.12.1 ODBCエラーログ

トラブルシュート情報として,ODBCエラーログを取得できます。ODBCエラーログファイルには,ODBC3.5ドライバ内で検知した一部の障害について,障害要因が出力されます。

〈この項の構成〉

(1) エラーログの対象

エラーログの対象となるエラーを次の表に示します。

SQLSTATE

エラーメッセージ

エラー内容

22003

Numeric value out of range

データ変換失敗(バッファサイズ指定誤り)

22005

Error in assignment

データ変換失敗(データ不正)

HYC00

Optional feature not implemented

HiRDB ODBCでは未サポートのオプション要求

(2) ODBCエラーログの取得方法

ODBCエラーログの取得方法及び仕様について次に示します。

取得方法

クライアント環境定義PDODBERRTRCで指定します。

  • YES:ODBCエラーログを出力します。

  • NO:ODBCエラーログを出力しません(従来の動作)。

出力先ファイル名

下記2つのファイルを作成し,ラップアラウンドして出力します。

  • pdodberr1.trc

  • pdodberr2.trc

出力先ディレクトリ

クライアント環境定義PDCLTPATHで指定します。省略時はUAP実行ディレクトリに出力します。

出力先ディレクトリが存在する又は書き込み権限がある場合に出力します。

出力先ファイルサイズ

クライアント環境定義PDODBERRTRCSIZEで指定します。

エラーログ出力時,出力先ファイルサイズがPDODBERRTRCSIZEを超えていた場合,出力先が切り替わります。

(3) ODBCエラーログの見方

ODBCエラーログの出力例とその説明を次に示します。

[出力例]

                [1]          [2]                          [3]     [4]
  ** HiRDB ODBC DRIVER ERROR CLT(ODBC):10-09     SVR:10-09   US UTF8 **
  CONNECTION STATUS :[5]
    CURHOST(XXX.XXX.XXX.XXX)
    CURPORT(22201) SVRNAME(sds01)
    CNCTNO(242) SVRPID(29580) CLTPID(31508) CLTTID(33476) CLTCNCTHDL(0xf84a06e0)
  ODBC ENVIRONMENT :[6]
    PDCLTCNVMODE(NOUSE);PDJETCOMPATIBLE(YES);PDODBSTATCACHE(0);PDODBESCAPE(0);PDGDATAOPT(NO);PDODBLOCATOR(YES);PDODBSPLITSIZE(102400);PDODBCWRNSKIP(YES);PDODBGINFOSUPPRESS(YES);PDODBSTANDARDARGSIZE(YES);PDODBSTANDARDSQLSTATE(YES);PDODBSTANDARDDESCCOL(YES);PDODBSTANDARDGTYPEINFO(YES);PDODBCOLSIZEUNIT(CHAR);PDODBSETATEXECLEN(YES);PDODBSYSUNSIGNED(YES);PDODBSYSKEYS(YES)
  HIRDBINIPATH : C:\windows\HiRDB.ini[7]
  2024/10/02 18:32:16[8]
  od3dcnvl.c(1769)[9]
  SECNO(1)[10]
  *SQL* CALL P1(?)[11]
 
  SQLExecDirect([12]
    StatementHandle        0x000002114D9348E0
    StatementText          0x000002114D92AE60
    TextLength                             10
  )
  DIAG [22005] [HITACHI][HiRDB]Error in assignment.[13]
 
  SQLBindParameter([14]
      StatementHandle      0x000002114D9348E0
      ParameterNumber                       1
      InputOutputType                       2
      ValueType                            -8
      ParameterType                        91
      ColumnSize                           10
      DecimalDigits                         0
      ParameterValuePtr    0x00007FF6C80AD248
      BufferLength                         10
      StrLen_or_IndPtr     0x00007FF6C80AD750
  )
DATA=32 00 30 00 32 00 34 00 2d 00                     *2.0.2.4.-.      *[15]

[説明]

  1. タイトル

    ODBCエラーログのタイトルを表示します。

  2. ODBC作成バージョン

    ODBCドライバの作成バージョンを表示します。

  3. サーババージョン

    接続先HiRDBのバージョンを表示します。

  4. サーバの文字コード

    接続先HiRDBサーバの文字コードを表示します。

  5. UAP実行ステータス

    ODBCドライバを使用したアプリケーションを実行したときのサーバとの接続状態を表示します。

    • CURHOST:接続先ホスト名

    • CURPORT:接続ポート番号

    • SRVNAME:フロントエンドサーバ名,又はシングルサーバ名

    • CNCTNO:コネクト通番

    • SVRPID:接続サーバのプロセス番号

    • CLTPID:UAPのプロセス番号

    • CLTTID:UAPのスレッド番号

    • CLTCNCTHDL:コネクションハンドル

    なお,取得できる情報の値だけを表示します。

  6. UAP実行環境

    ODBCドライバを使用したアプリケーションを実行したときのODBC関連のクライアント環境変数の値を表示します。

  7. HiRDB.iniのパス

    有効となっているHiRDB.iniのパスを表示します。

    Windows版:

    データソースで設定したHiRDBクライアント環境変数ファイル名,又はWindowsディレクトリ下のHiRDB.ini

    UNIX版:

    データソースで設定したHiRDBクライアント環境変数ファイル名

  8. エラー検知日時

    エラーを検知した日時を表示します。

  9. エラー発生個所

    ODBCドライバ内でエラーを検知したファイル名及び行番号を表示します。

  10. セクション番号

    SQLの対応を格納するための番号を表示します。番号はODBCドライバが自動で付与します。

  11. SQL文

    エラー発生時にSQL文を表示します。エラー検知箇所によってはSQL文が表示されないこともあります。

  12. エラーを検知したODBC関数

    エラーを検知したODBC関数について,引数情報を表示します。なお引数の値については,ODBC仕様を参照してください。

  13. エラーメッセージ

    エラーメッセージを表示します。

  14. パラメタ又は結果セットのバインド情報

    SQLSTATEが22003又は22005エラーでは,エラーを検知したパラメタや結果セットに対するバインド情報(SQLBindParameter及びSQLBindColの引数)を表示します。なお引数の値については,ODBC仕様を参照してください。

  15. パラメタ又は結果セット

    SQLSTATEが22003又は22005エラーでは,エラーとなったパラメタや結果セットのデータを表示します。