ページの先頭行へ戻る
Interstage Business Application Server セットアップガイド
FUJITSU Software

C.2 実行パラメタの種類

クライアント用の動作環境ファイルには、アプリケーションの実行に必要な環境情報として実行パラメタを記述します。

実行パラメタは、以下に示す種類があります。

表C.1 クライアント用の動作環境ファイルの実行パラメタの種類

分類

実行パラメタ

概要

記述数

記述の省略

通信

◆SERVER_SPEC

リモートのサーバと通信するための情報

複数可

リモートのデータベースにアクセスする場合省略不可。ローカルの場合は指定できない。

◆WAIT_TIME

通信時の待ち時間

単一

省略可能

文字データ処理

◆CHARACTER_TRANSLATE

文字コードの変換をクライアントで行うか否か

単一

省略可能

◆CHAR_SET

アプリケーション中の文字のコード

単一

省略可能

◆NCHAR_CODE

アプリケーション中の日本語文字のコード

単一

省略可能

排他

◆DSO_LOCK

使用するDSOの占有の単位、占有モード

単一

省略可能

◆ISOLATION_WAIT

占有待ちの方式

単一

省略可能

◆R_LOCK

占有の単位を行とする

単一

省略可能

デバッグ

◆SQL_SNAP

SQL_SNAP機能を利用するか否か

単一

省略可能

通信に関する実行パラメタ

SERVER_SPEC

【指定形式】

SERVER_SPEC = (通信方法,SQLサーバ名[,[データ資源名][,[ホスト名][,[ポート番号]]]])

【実行パラメタの意味】

CONNECT文でSQLサーバ名を指定した場合、サーバとの通信状態を確立するために必要な情報を記述します。このため、CONNECT文で接続するSQLサーバ名は、アプリケーションの実行時にすべてSERVER_SPECに記述しておく必要があります。ローカルのデータベースだけにアクセスする場合は、この実行パラメタは指定しません。

なお、通信方法によって、記述形式が異なります。

【パラメタの意味】
通信方法:

以下の中から1つを選択します。

  • RDB2_TCP: データベースシステムへダイレクトに結合する。

  • RDA : RDA-SVを経由してグローバルサーバのデータベースシステムと結合する。

SQLサーバ名:

CONNECT文で指定したSQLサーバ名を記述します。SQLサーバ名は、SERVER_SPECで指定されたデータ資源に対して接続する際の名前を、利用者が任意に指定します。

データ資源名:

サーバ上に存在するデータ資源名(アクセス環境名)を指定します。通信方法がRDB2_TCPの場合は、データベース名を指定します。

ホスト名:

ホスト名管理ファイルに設定した18バイト以内のホスト名を指定します。

ポート番号:

サーバのポート番号を指定します。

通信方法がRDB2_TCPの場合、システム用の動作環境ファイルにおいて、MAX_CONNECT_TCPを必ず設定してください。

参照

ポート番号の詳細については、“B.2 ネーミングサービスの起動”の<port_no>を参照してください。

◆WAIT_TIME

【指定形式】

WAIT_TIME = (待ち時間)

【実行パラメタの意味】

サーバからのデータ受信の待ち時間を指定します。
WAIT_TIMEで指定された時間内に、サーバからのデータが受信できなかった場合には、実行中のSQL文はエラーとなり、コネクションは切断されます。
0を指定した場合は、データが受信できるまで待ちます。単位は秒です。
なお、本実行パラメタは、トランザクションモニタ配下では指定できません。

【パラメタの意味】
待ち時間:

待ち時間を0~32767で指定します。省略した場合は、0が指定されたとみなします。

文字データ処理に関する実行パラメタ

CHARACTER_TRANSLATE

【指定形式】

CHARACTER_TRANSLATE = ({CLIENT | SERVER})

【実行パラメタの意味】

データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。省略した場合は、SERVERが指定されたとみなします。サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。

【パラメタの意味】
CLIENT:

クライアントでコード変換を行う場合に指定します。

SERVER:

サーバでコード変換を行う場合に指定します。

CHAR_SET

【指定形式】

CHAR_SET = ({EUC_S90|EUC_U90|EUC|SJIS|UTF8})

【実行パラメタの意味】

文字列型のホスト変数、文字列型の動的パラメタ、および、SQLMSGの文字コード系を指定します。この指定は、アプリケーションをC言語で記述している場合に有効です。

データベースに格納される文字列型データの文字コード系とCHAR_SETとの関係を以下に示します。

表C.2 データベースの文字コード系との関係

データベースの文字コード系

CHAR_SETの指定

EUC_S90

EUC_U90

EUC

SJIS

UTF8

日本語EUCコードのS90コード

×

日本語EUCコードのU90コード

×

シフトJISコード

UNICODE

◎:指定可能(省略値)

○:指定可能

×:指定不可能

アプリケーションをCOBOLで記述している場合は、本パラメタは無視され、以下のようになります。なお、アプリケーションの実行時のロケールは、OSのデフォルトロケールと同じでなければなりません。

【パラメタの意味】
EUC_S90:

ホスト変数内文字列のデータの文字コード系が日本語EUCコードのS90コードの場合に指定します。

EUC_U90またはEUC:

ホスト変数内文字列のデータの文字コード系が日本語EUCコードのU90コードの場合に指定します。EUCは下位互換として存在します。

SJIS:

ホスト変数内文字列のデータの文字コード系がシフトJISコードの場合に指定します。

UTF8:

ホスト変数内文字列のデータの文字コード系がUNICODEの場合に指定します。

NCHAR_CODE

【指定形式】

NCHAR_CODE = ({EUC_S90|EUC_U90|EUC|COBOL_EUC_S90|COBOL_EUC_U90|COBOL_EUC|SJIS|UTF8|UCS2|UCS2B })

【実行パラメタの意味】

各国語文字列型のホスト変数、各国語文字列型の動的パラメタの文字コード系を指定します。この指定は、アプリケーションをC言語で記述している場合に有効です。

アプリケーションをC言語で記述している場合の、CHAR_SETとNCHAR_CODEの関係を以下に示します。

  

NCHAR_CODEの指定

CHAR_SETの指定

EUC_S90

COBOL_EUC_S90

EUC_U90

EUC

COBOL_EUC_U90

COLBOL_EUC

SJIS

UTF8

UCS2

UCS2B

EUC_S90

×

×

×

EUC_U90

×

×

×

EUC

SJIS

×

×

×

UTF8

×

×

×

◎:有効(省略値)

○:有効

×:無効(指定値を無視して省略値になります)

データベースに格納される各国語文字列型データの文字コード系とNCHAR_CODEとの関係を以下に示します。

表C.3 データベースの文字コード系との関係

データベースの文字コード系

NCHAR_CODEの指定

EUC_S90

COBOL_EUC_S90

EUC_U90

EUC

COBOL_EUC_U90

COLBOL_EUC

SJIS

UTF8

UCS2

UCS2B

日本語EUCコードのS90コード

×

日本語EUCコードのU90コード

×

シフトJISコード

UNICODE

◎:指定可能(省略時は、CHAR_SETに設定される値かCHAR_SETの省略値)

○:指定可能

×:指定不可能

アプリケーションをCOBOLで記述している場合は、本パラメタは無視され、以下のようになります。なお、アプリケーションの実行時のロケールは、OSのデフォルトロケールと同じでなければなりません。

【パラメタの意味】
EUC_S90:

ホスト変数内文字列のデータの文字コード系が日本語EUCコードのS90コードの場合に指定します。

EUC_U90またはEUC:

ホスト変数内文字列のデータの文字コード系が日本語EUCコードのU90コードの場合に指定します。EUCは下位互換として存在します。

COBOL_EUC_S90:

ホスト変数内文字列のデータの文字コード系が日本語EUCコードのS90コードのCOBOLの内部表現形式(COBOL_EUC)の場合に指定します。

COBOL_EUC_U90またはCOBOL_EUC:

ホスト変数内文字列のデータの文字コード系が日本語EUCコードのU90コードのCOBOLの内部表現形式(COBOL_EUC)場合に指定します。COBOL_EUCは下位互換として存在します。

SJIS:

ホスト変数内文字列のデータの文字コード系がシフトJISコードの場合に指定します。

UTF8:

ホスト変数内文字列のデータの文字コード系がUNICODEのUTF-8コードの場合に指定します。

UCS2:

ホスト変数内文字列のデータの文字コード系がUNICODEのUCS-2コードの場合に指定します。

UCS2B:

ホスト変数内文字列のデータの文字コード系がUNICODEのUCS-2コードのバイトスワップ形式の場合に指定します。

排他に関する実行パラメタ

DSO_LOCK

【指定形式】

DSO_LOCK = (DSO名[/[P][{占有モード}]][,DSO名[/[P][{占有モード}]]・・・])

【実行パラメタの意味】

アプリケーションで使用するDSOおよびその占有の単位、占有モードを指定します。DSO_LOCKが指定された場合、SET TRANSACTION文および動作環境ファイルのDEFAULT_ISOLATIONは指定できません。

また、システム用およびクライアント用の動作環境ファイルにR_LOCK=YESを指定することはできません。

【パラメタの意味】
DSO:

アプリケーションで使用するDSO名を以下の形式で指定します。

データベース名.DSO名

P:

DSOの占有の単位をページとします。省略した場合は、占有の単位はDSIとなります。

占有モード:

占有のモードとして以下のいずれかを指定します。省略した場合は、EXが指定されたとみなします。

  • EX: 非共有モードの排他を行います。

  • SH: 共有モードの排他を行います。

ISOLATION_WAIT

【指定形式】

ISOLATION_WAIT = ({WAIT | REJECT})

【実行パラメタの意味】

あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つか否かを指定します。省略した場合は、WAITが指定されたとみなします。

【パラメタの意味】
WAIT:

資源の占有が解除されるまで待ちます。

REJECT:

エラーとしてアプリケーションに復帰します。

R_LOCK

【指定形式】

R_LOCK = ({YES | NO})

【実行パラメタの意味】

占有の単位を行とするかどうかを指定します。省略した場合は、システム用の動作環境ファイルにおけるR_LOCKの指定に従います。

【パラメタの意味】
YES:

占有の単位を行とします。このパラメタを指定した場合、クライアント用およびサーバ用の動作環境ファイルにDSO_LOCKパラメタを指定することはできません。

NO:

占有の単位は、DSO_LOCKの指定に従います。このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。

注意

動作環境ファイルのR_LOCKを省略した場合、DEFAULT_ISOLATIONまたはSET TRANSACTION文にREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。
動作環境ファイルにR_LOCK=YESを指定した場合、DEFAULT_ISOLATIONまたはSET TRANSACTION文にSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。

デバッグに関する実行パラメタ

SQL_SNAP

【指定形式】

SQL_SNAP = ({ON | OFF}[,[スナップファイル名][,[出力レベル][,[繰り返し幅]]]])

【実行パラメタの意味】

SQL_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。

SQL_SNAP機能は、アプリケーションが実行したSQL文の情報をファイルに出力する機能です。

【パラメタの意味】
ON:

SQL_SNAP機能を利用する場合に指定します。

OFF:

SQL_SNAP機能を利用しない場合に指定します。

スナップファイル名:

SQL_SNAP機能が出力するSQL文の実行情報の出力先ファイル名を指定します。ファイル名を省略した場合は、アプリケーションのファイル名の拡張子を“.SNP”に変更したものとなります。ファイル名にディレクトリの指定がない場合は、カレントディレクトリが指定されたものとみなします。指定されたファイルがすでに存在する場合は、情報を追加して出力します。

出力レベル:

出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたとみなします。出力レベルの指定と出力情報の対応については、“表C.4 出力レベルの指定と出力情報の対応”を参照してください。

繰り返し幅:

出力する情報の繰り返し幅として、1から32767を指定します。1つのSQL文の出力を1とします。繰り返し幅を指定した場合は、その幅でサイクリックに情報を出力します。省略した場合は、先頭からの情報をすべて出力します。

表C.4 出力レベルの指定と出力情報の対応

出力する情報

出力レベル

1

2

アプリケーション名

SQL文 (注)

カーソル情報

ホスト変数情報

SQLSTATE

SQL文の処理時間

メッセージ

注)SQL文名だけ出力します。

なお、出力されるSQL文は、アプリケーションに記述したものと同一ではありません。翻訳・結合編集時に加工したものが出力されます。

レベル1を指定した場合

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

SQL-SNAP START 14:01:13 (1)   04/18 (2)  APPLICATION : sample1 (3)
STATEMENT : CONNECT                              (4)
SQLSTATE : 00000                                 (5)
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に通知されたことを示します。

(4)~(6)は、1つのSQL文の実行情報です。1つのSQL文の実行情報は、SQL-SNAP START と SQL-SNAP ENDの間に表示されます。

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

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

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

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

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

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

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

レベル2を指定した場合

出力レベルに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
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)                                            (14)
  0000(00000) a5c6a5ec a5d3a1a1  a1a1a1a1 a1a1a1a1  *  テレビ              * (14)
  0010(00016) a1a1a1a1                              *                      * (14)
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)                                            (18)
  0000(00000) a5a2a5a4 a5c7a5a2  bea6bbf6 a1a1a1a1   *  アイデア商事       * (18)
  0010(00016) a1a1a1a1                               *                     * (18)
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に通知されたことを示します。

(4)~(7)は、1つのSQL文の実行情報です。1つのSQL文の実行情報は、SQL-SNAP START と SQL-SNAP ENDの間に表示されます。

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

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

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

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

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

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

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

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

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

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

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