Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

上へ第5章 応用プログラムの実行
上へ5.2 応用プログラムのデバッグ

5.2.2 ROUTINE_SNAP機能の利用方法

ROUTINE_SNAP機能を利用するには、クライアント用の動作環境ファイルにROUTINE_SNAPパラメタを設定します。指定形式については、“クライアント用の動作環境ファイルの作成”を参照してください。

次に指定の例を示します。この例では、出力レベル1のデバッグ情報を、サーバ上のROUTINE1.LSTに出力します。

[UNIX系の場合]

ROUTINE_SNAP = (ON,/var/tmp/ROUTINE1.LST,1)

[Windowsの場合]

ROUTINE_SNAP = (ON,E:\VAR\TMP\ROUTINE1.LST,1)

■ROUTINE_SNAP機能の出力形

ROUTINE_SNAP機能で出力される情報は、出力レベルの指定によって異なります。表:出力レベルの指定と出力情報の対応に出力レベルの指定と出力情報の対応を示します。

[表:出力レベルの指定と出力情報の対応]

出力する情報

出力レベル

1

2

プロシジャルーチン名

SQL文(注)

カーソル情報

ホスト変数情報

プロシジャルーチンの引数の値

SQLSTATE

メッセージ

プロシジャルーチンの処理時間

注)SQL文名のみ出力します。

図:ROUTINE_SNAP機能の出力形式(レベル1)の例および図:ROUTINE_SNAP機能の出力形式(レベル2)の例に、具体的な出力形式の例を示します。

複数の応用プログラムが動作する場合は、クライアント用の動作環境ファイルの実行パラメタ(DIV_TRACE_FILE)の指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。

応用プログラムがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。

■レベル1を指定した場合

出力レベルに1を指定した場合は、以下の情報が出力されます。

[図:ROUTINE_SNAP機能の出力形式(レベル1)の例]

ROUTINE-SNAP START 14:01:13 (1)  04/18 (2)  ROUTINE-NAME : sample (3)
STATEMENT : BEGIN                                     (4)
ROUTINE-SNAP END 14:01:13  (5)  (00:00:00.000000)     (6)

ROUTINE-SNAP START 14:01:13      04/18     ROUTINE-NAME : sample
STATEMENT : IF                                        (7)
ROUTINE-SNAP END 14:01:13       (00:00:00.000000)

ROUTINE-SNAP START 14:01:13      04/18     ROUTINE-NAME : sample
STATEMENT : OPEN                                      (8)
CURSOR NAME : 会社名取出                              (9)
SQLSTATE : 00000                                      (10)
SQLMSG   : JYP2001I 正常に終了しました.               (11)
ROUTINE-SNAP END 14:01:14       (00:00:00.867000)

ROUTINE-SNAP START 14:01:14      04/18     ROUTINE-NAME : sample
STATEMENT : FETCH                                     (12)
CURSOR NAME : 会社名取出                              (13)
SQLSTATE : 00000
SQLMSG   : JYP2001I 正常に終了しました.
ROUTINE-SNAP END 14:01:14       (00:00:00.055000)

(1) SQL文の実行の開始時刻(時:分:秒)を示します。

(2) SQL文の実行の日付(月/日)を示します。

(3) 実行したルーチンの名前を示します。

(4) 実行したSQL文の種類を示します。ここでは、SQL制御文の複合文(BEGIN)を実行したことを示します。

(5) SQL文の実行を終了した時刻(時:分:秒)を示します。

(6) SQL文の開始から終了までの経過時間(時:分:秒)を示します。

(7) 実行したSQL文の種類を示します。 ここでは、SQL制御文のIF文を実行したことを示します。

(8) カーソルのOPEN文を実行したことを示します。

(9) オープンしたカーソル名を示します。

(10) SQL文の実行後にSQLSTATEに通知された状態コードを示します。

(11) SQL文の実行後にSQLMSGに通知されたメッセージ内容を示します。

(12) FETCH文を実行したことを示します。

(13) FETCH文を実行したカーソル名を示します。

■レベル2を指定した場合

出力レベルに2を指定した場合は、以下の情報が出力されます。(UNIX系での例)

[図:ROUTINE_SNAP機能の出力形式(レベル2)の例]

ROUTINE-SNAP START 14:01:13     04/18     ROUTINE-NAME : sample
STATEMENT : BEGIN
ROUTINE-SNAP END 14:01:13      (00:00:00.000000) 

ROUTINE-SNAP START 14:01:13 (1) 04/18 (2) ROUTINE-NAME : sample (3)
STATEMENT : IF              (4)
PARAMETER VALIABLE :        (5)
        P1 NCHAR(10)
   0000(00000) a5c6a5ec a5d3a1a1 a1a1a1a1 a1a1a1a1 *  テレビ  * (6)
   0010(00016) a1a1a1a1                            *          *
SQL  VALIABLE :             (7)
        V1 NCHAR(10)
   0000(00000) a5c6a5ec a5d3a1a1 a1a1a1a1 a1a1a1a1 *  テレビ  * (8)
   0010(00016) a1a1a1a1                            *          *
ROUTINE-SNAP END 14:01:13   (9) (00:00:00.000000)  (10)

ROUTINE-SNAP START 14:01:13     04/18     ROUTINE-NAME : sample
STATEMENT : OPEN
CURSOR NAME : 会社名取出
PARAMETER VALIABLE          (11)
        P1 NCHAR(10)
   0000(00000) a5c6a5ec a5d3a1a1 a1a1a1a1 a1a1a1a1 *  テレビ  * (12)
   0010(00016) a1a1a1a1                            *          *
SQLSTATE : 00000                                   (13)
SQLMSG   : JYP2001I 正常に終了しました.            (14)
ROUTINE-SNAP END 14:01:14     (00:00:00.867000)

ROUTINE-SNAP START 14:01:14     04/18     ROUTINE-NAME : sample
STATEMENT : FETCH
CURSOR NAME : 会社名取出
SQL VALIABLE :              (15)
        V2 NCHAR(10)
   0000(00000) a5a2a5a4 a5c7a5a2 bea6bbf6 a1a1a1a1 * アイデア商事 * (16)
   0010(00016) a1a1a1a1                           *              *
SQLSTATE : 00000
SQLMSG   : JYP2001I 正常に終了しました.
ROUTINE-SNAP END 14:01:14     (00:00:00.055000)

(1) SQL文の実行の開始時刻(時:分:秒)を示します。

(2) SQL文の実行の日付(月/日)を示します。

(3) 実行したルーチンの名前を示します。

(4) 実行したSQL文の種類を示します。 ここでは、SQL制御文のIF文を実行したことを示します。

(5) IF文で使用されたパラメタ変数のデータを表示します。ここでは、P1がパラメタ名で、NCHAR(10)がデータ型を示します。

(6) IF文に指定したパラメタ変数のデータの内容を16進数で表示します。

(7) IF文で使用されたSQL変数のデータを表示します。ここでは、V1がSQL変数名で、NCHAR(10)がデータ型を示します。

(8) IF文に指定したSQL変数のデータの内容を16進数で表示します。

(9) SQL文の実行を終了した時刻(時:分:秒)を示します。

(10) SQL文の開始から終了までの経過時間(時:分:秒)を示します。

(11) OPEN文で使用されたパラメタ変数のデータを表示します。ここでは、P1がパラメタ名で、NCHAR(10)がデータ型を示します。

(12) OPEN文で使用したパラメタ変数のデータの内容を16進数で表示します。

(13) SQL文の実行後にSQLSTATEに通知された状態コードを示します。

(14) SQL文の実行後にSQLMSGに通知されたメッセージ内容を示します。

(15) FETCH文で使用されたSQL変数のデータを表示します。ここでは、V2がSQL変数名で、NCHAR(10)がデータ型を示します。

(16) FETCH文に指定したSQL変数のデータの内容を16進数で表示します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2003-2004