スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

16.10 HiRDB.NETデータプロバイダのトラブルシュート機能

ADO.NET 2.0に対応したHiRDB.NETデータプロバイダでは,トラブルシュート情報としてメソッドトレースを取得できます。

<この節の構成>
(1) メソッドトレースの取得方法
(2) メソッドトレースの出力規則
(3) メソッドトレース情報の見方
(4) メソッドトレースファイルのバックアップの取得

(1) メソッドトレースの取得方法

メソッドトレース情報は,クライアント環境定義のPDCLTPATH及びPDDNDPTRACEに値を設定することで取得できます。各クライアント環境定義については,「6.6 クライアント環境定義(環境変数の設定)」を参照してください。

(2) メソッドトレースの出力規則

メソッドトレースの出力規則を次に示します。

(3) メソッドトレース情報の見方

出力されるメソッドトレースの例とその説明を次に示します。

ヘッダ
 
[1][1742][sds01][12345678][HiRDB_Data_Provider20][08.04.0.0]
 1  2     3      4         5                      6

[説明]
ヘッダはファイルの先頭に出力されます。
  1. コネクト通番です。
  2. 接続先サーバのプロセスIDです。
  3. シングルサーバ名,又はフロントエンドサーバ名です。
  4. UAPのプロセスIDです。
  5. トレース識別情報です。
  6. HiRDB .NETデータプロバイダのアセンブリのバージョンです。

メソッドトレース情報
 
[0000000001][E][HiRDBCommand@12345678 ExecuteNonQuery][SID(2)][2008/08/27 1:29:10.123]
 1           2  3            4        5                6       7
 
  [Return=0]
   8
  [nArraySize=10]                           ┐
                                            │
        :                                   ├9
                                            │
  [CommandText=INSERT INTO T1 VALUES(100)]  ┘
 
  [MessageText=KFPA11117-E Number of insert values not equal to number of insert columns] 10
  [SQLCODE=-117] 11
  [SQLWARN=0000] 12
  場所 Hitachi.HiRDB.native.HiRDBcore.ClearSectionItems()       ┐
  場所 Hitachi.HiRDB.HiRDBConnection.Close()                    │
  場所 Hitachi.HiRDB.HiRDBConnection.Dispose(Boolean disposing) ├13
  場所 Hitachi.HiRDB.HiRDBConnection.Finalize()                 ┘
 

[説明]
メソッドトレース情報は,メソッドの呼び出し時及び戻り時,プロパティの設定時及び取得時ごとに出力されます。
  1. スレッドIDです。
  2. アクセス種別です。
    E:メソッドの呼び出し
    R:メソッドからの戻り
    S:プロパティへの値設定
    G:プロパティの値取得
    アクセス種別によって,出力内容が異なります。アクセス種別による出力内容の違いを次に示します。
    アクセス種別 呼び出し種別 引数値又は
    プロパティ値
    戻り値 エラー情報
    メソッド E 呼び出し × ×
    R 戻り(正常時) × ×
    戻り(エラー時) × ×
    プロパティ S 設定(正常時) × ×
    設定(エラー時) ×
    G 取得(正常時) × ×
    取得(エラー時) × ×
    (凡例)
     ○:出力されます。
     ×:出力されません。
  3. クラス名です。プロバイダ名を省略して出力します。
  4. ハッシュコードです。クラス名と@で結合して出力します。
  5. メソッド名,又はプロパティ名です。
  6. セクション番号です。SQLの実行に関係しないメソッド,プロパティの場合は特定できないため,*を出力します。
  7. トレースの取得日時です。
  8. 戻り値です。例外発生時はExceptionクラス名を出力します。
  9. 引数名と引数値,又はプロパティ名とプロパティ値です。=で連結して出力します。
  10. エラーメッセージです。
  11. SQLCODEです。SQL文を実行した結果,発生したSQLCODEを表示します。
  12. SQLWARNです。警告情報を16進数表記で表示します。詳細については,「11.1.1(3) SQLトレース情報の見方」を参照してください。
  13. スタックトレースです。
一部のメソッドではプロパティ情報が出力されます。アクセス種別ごとの出力形式を次に示します。
アクセス種別 呼び出し元 形式 備考
メソッド E HiRDBCommand.Execute
HiRDBCommand.ExecuteDbDataReader
HiRDBCommand.ExecuteNonQuery
HiRDBCommand.ExecuteReader
HiRDBCommand.ExecuteScalar
CommandText=VALUE※1
Parameters.Count=VALUE
PARAMETER_VALUE※2
引数が存在する場合は,引数情報を出力します。
その他 ARGUMENT※3=VALUE
R HiRDBConnection.Open ConnectionString=VALUE
ServerVersion=VALUE
その他 Return=VALUE
プロパティ S PROPERTY※4=VALUE
G Return=VALUE

(凡例)
−:該当しません。

注※1
VALUEはプロパティ値,引数値,戻り値として設定,又は取得した値です。

注※2
PARAMETER_VALUEはHiRDBParameterCollectionに登録されている各パラメタの情報です。情報の内容を次に示します。
ParameterName,HiRDBType,Value,Precision,Scale,Repetition

注※3
ARGUMENTは引数名です。

注※4
PROPERTYはプロパティ名です。

(4) メソッドトレースファイルのバックアップの取得

メソッドトレース情報を出力してメソッドトレースファイルの容量が指定したサイズを超えると,次のエントリからはもう一方のメソッドトレースファイルに出力されます。このとき,切り替え先のメソッドトレースファイルに格納されている古いメソッドトレース情報から順に消去され,新しいメソッドトレース情報に書き換えられます。このため,必要な情報はUAP終了時にメソッドトレースファイルの内容をコピーしてバックアップを取得しておいてください。

なお,現在使用しているメソッドトレースファイルを知りたい場合は,ファイルの最終更新日時を調べてください。最終更新日時の新しい方が現在使用しているメソッドトレースファイルになります。dirコマンド又はエクスプローラで,ファイルの最終更新日時を調べてください。