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

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

5.2.1 SQL_SNAP機能の利用方法

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

次にSQL_SNAPパラメタの指定の例を示します。

例1

出力レベル1のデバッグ情報を、SQLSNAP.LSTに出力します。
SQL_SNAP =  (ON,SQLSNAP.LST,1)

例2

繰り返し幅を指定して、デバッグ情報をSQLSNAP.LSTに出力します。
SQL_SNAP =  (ON,SQLSNAP.LST,1,100)                            
                              (1)               

(1) 繰り返し幅

繰り返し幅を指定すると、実行したSQL文の情報を、指定した繰り返し幅でファイルに出力できます。これにより、必要な分だけの情報が取得できます。繰り返し幅の量を超えた時点で出力ファイルを再作成します。

たとえば、100を指定した場合は、100個のSQL文情報をファイルに出力した時点で、次のSQL文情報をファイルの先頭に出力します。

■SQL_SNAP機能の出力形

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

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

出力する情報

出力レベル

応用プログラム名

SQL文 (注)

カーソル情報

ホスト変数情報

 

SQLSTATE

SQL文の処理時間

メッセージ

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

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

なお、出力されるSQL文は、応用プログラムに記述したものと同一ではありません。翻訳・結合編集時に加工したものが出力されます。

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

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

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

  SQL-SNAP START 14:01:13 (1)   04/18  (2)  APPLICATION : sample1 (3)                
  STATEMENT : CONNECT                             (4)      *                        
  SQLSTATE : 00000                                (5)      *1つのSQL文の実行情報
  SQLMSG   : JYP2001I 正常に終了しました.        (6)      *                        
  SQL-SNAP END   14:01:16 (7)   (00:00:03.204000) (8)                               
                                                                                     
  SQL-SNAP START 14:01:16      04/18      APPLICATION : sample1                      
  STATEMENT : OPEN                                (9)                                
  CURSOR NAME : 会社名取出                        (10)                               
  CURSOR      : SELECT DISTINCT 会社名 FROM BUSINESS.取引先会社,BUSINESS.発注,BUS    
                INESS.在庫 WHERE 取引先会社.取引先番号=発注.取引先番号 AND 取引製    
                品番号=製品番号 AND  製品名=?     (11)                               
  SQLSTATE : 00000                                                                   
  SQLMSG   : JYP2001I 正常に終了しました.                                           
  SQL-SNAP END   14:01:17      (00:00:00.867000)                                     
                                                                                     
  SQL-SNAP START 14:01:17      04/18      APPLICATION : sample1                      
  STATEMENT : FETCH                               (12)                               
  CURSOR NAME : 会社名取出                        (13)                               
  SQLSTATE : 00000                                                                   
  SQLMSG   : JYP2001I 正常に終了しました.                                           
  SQL-SNAP END   14:01:17      (00:00:00.055000)                                     
                                                                                     
                                〜                                                   

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

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

(3) 実行したアプリケーションの名前を示します。

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

(5) SQL文の実行後にSQLSTATEに通知された状態コードを示します。ここでは、CONNECT文の実行結果として、状態コード“00000”がSQLSTATEに通知されたことを示します。

(6) SQL文の実行後にSQLMSGに通知されたメッセージ内容を示します。ここでは、CONNECT文の実行結果として、メッセージ“JYP2001I 正常に終了しました.”がSQLMSGに通知されたことを示します。

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

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

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

(10) オープンしたカーソル名を示します。ここでは“会社名取出”を示します。

(11) カーソルの探索条件を示します。

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

(13) FETCH文を実行したカーソル名を示します。ここでは“会社名取出”を示します。

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

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

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

  SQL-SNAP START 14:01:13 (1)   04/18  (2)  APPLICATION : sample1 (3)                  
  STATEMENT : CONNECT                             (4)       *                          
  CONNECTION INFORMATION                          (5)       |                         
         001 : <SQL-SERVER>       : SV1                     |                          
         002 : <USER-NAME>        : USER1/PASS1             *1つのSQL文の実行情報  
  SQLSTATE : 00000                                (6)       |                         
  SQLMSG   : JYP2001I 正常に終了しました.        (7)       |                         
  SQL-SNAP END   14:01:16 (8)   (00:00:03.204000) (9)       *                        
                                                                                      
  SQL-SNAP START 14:01:16      04/18      APPLICATION : sample1                       
  STATEMENT : OPEN                                (10)                                
  CURSOR NAME : 会社名取出                        (11)                                
  CURSOR      : SELECT DISTINCT 会社名 FROM BUSINESS.取引先会社,BUSINESS.発注,BUS     
                INESS.在庫 WHERE 取引先会社.取引先番号=発注.取引先番号 AND 取引製     
                品番号=製品番号 AND  製品名=?     (12)                                
  INPUT VARIABLE                                  (13)                                
         001 : ATTRIBUTE  NCHAR(10)                                             *    
    0000(00000) a5c6a5ec a5d3a1a1  a1a1a1a1 a1a1a1a1   *  テレビ             *  *(14)
    0010(00016) a1a1a1a1                               *                     *  |    
  SQLSTATE : 00000                                                              *    
  SQLMSG   : JYP2001I 正常に終了しました.                                            
  SQL-SNAP END   14:01:17      (00:00:00.867000)                                      
                                                                                      
  SQL-SNAP START 14:01:17      04/18      APPLICATION : sample1                       
  STATEMENT : FETCH                               (15)                                
  CURSOR NAME : 会社名取出                        (16)                                
  OUTPUT VARIABLE                                 (17)                                
         001 : ATTRIBUTE  NCHAR(10)                                             *    
    0000(00000) a5a2a5a4 a5c7a5a2  bea6bbf6 a1a1a1a1   *  アイデア商事       *  *(18)
    0010(00016) a1a1a1a1                               *                     *  |    
  SQLSTATE : 00000                                                              *    
  SQLMSG   : JYP2001I 正常に終了しました.                                            
  SQL-SNAP END   14:01:17      (00:00:00.055000)                                      
                                                                                      
                                〜                                                    

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

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

(3) 実行したアプリケーションの名前を示します。

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

(5) 実行したCONNECT文のコネクション情報を示します。ここでは、コネクション情報として、SQLサーバ名“SV1”およびユーザ指定“USER1/PASS1”を示します。

(6) SQL文の実行後にSQLSTATEに通知された状態コードを示します。ここでは、CONNECT文の実行結果として、状態コード“00000”がSQLSTATEに通知されたことを示します。

(7) SQL文の実行後にSQLMSGに通知されたメッセージ内容を示します。ここでは、CONNECT文の実行結果として、メッセージ“JYP2001I 正常に終了しました.”がSQLMSGに通知されたことを示します。

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

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

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

(11) オープンしたカーソル名を示します。ここでは“会社名取出”を示します。

(12) カーソルの探索条件を示します。

(13) カーソルに対する入力のホスト変数を示します。

(14) カーソルに対する入力のホスト変数の属性とデータの内容を16進数で示します。ここでは、ホスト変数“製品名”の属性とデータを示します。

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

(16) FETCH文を実行したカーソル名を示します。ここでは“会社名取出”を示します。

(17) FETCH文により位置づけた行に対する出力のホスト変数を示します。

(18) FETCH文に指定した出力のホスト変数の属性とデータの内容を16進数で示します。ここでは、ホスト変数“会社名”の属性と内容を示します。


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

All Rights Reserved, Copyright(C) 富士通株式会社 2006