7.3.1 サーバ定義の文法規則の詳細
サーバ定義を作成および変更する場合の文法規則の詳細を次に示します。
サーバ定義の作成方法および変更方法については,「8.5 サーバ定義の作成および変更方法」を参照してください。
また,サーバ定義のオペランドの指定形式と内容については,次の項目を参照してください。
(1) 記述順序
サーバ定義の,定義間の記述順序は任意です。
(2) 記述形式
サーバ定義の記述形式には次に示す2つの形式があります。
-
set形式
-
コマンド形式
それぞれの形式について説明します。
(a) set形式
set形式では,オペランドに値を設定します。
- 形式
-
set オペランド = 値
- オペランド
-
set形式のオペランド名です。
- 値
-
オペランド名に対する指定値です。英数字の文字列で構成されます。
指定例を次に示します。
- 指定例
-
set adb_sys_max_users = 1024
同じオペランドを複数指定した場合,1つ目に指定した値が有効となり,2つ目以降の値は無視されます。
(b) コマンド形式
コマンド形式のオペランドの指定形式を次に示します。
- 形式
-
オペランド名 オプション
- オペランド名
-
コマンド形式のオペランド名です。
- オプション
-
ハイフン(-)で始まる文字列です。形式1と形式2の2つがあります。
- 形式1
-
オプション
- 形式2
-
オプション オプション引数
- オプション
-
ハイフン(-)と1文字の英字で構成されます。英大文字と英小文字は区別されます。
- オプション引数
-
オプションに対する引数です。英数字の文字列で構成されます。
指定例を次に示します。
- 指定例
-
adbbuff -g BUFFER -n ADBUTBL01 -p 1024
(3) 改行コード
サーバ定義で使用できる改行コードを次に示します。
-
LF(Line Feed)
-
NL(New Line)
-
CR+LF(Carriage Return+Line Feed)
なお,CR(Carriage Return)だけを使用することはできません。CRだけが使用されていた場合,HADBサーバを開始するときにエラーとなります。
(4) 行の継続
定義の1行の長さは最大4,000バイトです。4,000バイトを超える指定の場合は,複数行に分けて記述してください。
複数に分けた行を継続行として認識させる場合,行の末尾に継続文字として\を入力して,その直後で改行してください。継続行の先頭に半角スペースがある場合は,半角スペースも含めて継続されます。
ただし,\と改行が連続していない場合は継続されません。指定例を次に示します。
- 改行した行が継続行として認識される例
-
adbbuff -g BUFFER \↓ -n ADBU01
- 改行した行が継続行として認識されない例
-
adbbuff -g BUFFER \△↓ -n ADBU01
- (凡例)
-
↓:改行
△:半角スペース
(5) 文字列の識別規則
文字列中に二重引用符( " )を指定したい場合,「\"」としてください。「"AREA01"」として認識される指定例を次に示します。
- 指定例
-
adbbuff -g BUFFER -n \"AREA01\" -p 1024
なお,二重引用符で囲まないと,英大文字と英小文字が区別されないオペランドがあります(adbbuffオペランドなど)。詳細については,各オペランドを参照願います。
(6) コメント
サーバ定義にコメントを記入する場合は,コメントの先頭にシャープ(#)を記述してください。
形式1のように,行の先頭にシャープ(#)を入力すると,行全体がコメントとして認識されます。
- 形式1
-
#コメント…
形式2のように,記述した定義の後ろにコメントを入力したい場合は,シャープ(#)の前に半角スペースを入力してください。半角スペースがないと,コメントとして認識されません。
- 形式2
-
定義の記述△#コメント…
- (凡例)
-
△:半角スペース
なお,二重引用符( " )で囲んだ文字列の中にシャープ(#)がある場合,コメントとして認識されません。シャープ(#)およびシャープ(#)以降の文字列は,文字として認識されます。
- 「#」および「#」以降も文字として認識される例
-
set adb_db_path = "TESTDB△#abc"
- (凡例)
-
△:半角スペース
また,シャープ(#)がある行は,シャープ(#)以降の文字列がすべてコメントとして認識されます。そのため,複数に分けた行を継続行として認識させる際,コメントの記載位置に注意してください。継続行がコメントとして認識されてしまう例を次に示します。
- 継続行がコメントとして認識される例
-
adbbuff -g BUFFER△#コメント \↓ -n DBAREA01
- (凡例)
-
↓:改行
△:半角スペース
上記の場合,「△#コメント」は-n DBAREA01の後ろに記載するようにしてください。
(7) BOM
BOM(Byte Order Mark)は,サーバ定義では使用できません。
(8) コンマ
set形式の値やコマンド形式のオプション引数で,複数の文字列を指定する場合は,文字列と文字列の間をコンマで区切ってください。ただし,コンマで区切る場合は,文字列とコンマの間に半角スペースおよび改行を入力しないでください。HADBサーバを開始するときにエラーとなります。
コンマを使った指定例を次に示します。
- 正しい指定例
-
set adb_sql_prep_delrsvd_words = ABS,BEFORE,CALL,DATA set adb_sql_prep_delrsvd_words = ABS,△BEFORE,△△CALL,△△△DATA
複数の文字列を指定する場合は,文字列と文字列の間をコンマで区切ってください。また,コンマと文字列の間には,半角スペースを入力できます。
- エラーとなる指定例1
-
set adb_sql_prep_delrsvd_words = ABS△,BEFORE△,CALL△,DATA
上記のように,先行する文字列とコンマの間には,半角スペースは入力できません。文字列中に半角スペースが含まれているため,指定値が不正と認識され,エラーとなります。
- エラーとなる指定例2
-
set adb_sql_prep_delrsvd_words = ABS,BEFORE↓ ,CALL,DATA
上記のように,文字列とコンマの間では,改行できません。エラーとなります。
改行する場合,複数に分けた行を継続行として認識させる必要があります。継続文字として\を入力して,その直後で改行してください。指定例を次に示します。
- 指定例(継続行として認識させる場合)
-
set adb_sql_prep_delrsvd_words = ABS,BEFORE\↓ ,CALL,DATA set adb_sql_prep_delrsvd_words = ABS,BEFORE,\↓ CALL,DATA
コンマと文字列の間に継続文字として\を入力して,その直後で改行してください。どちらの場合でも,継続行として認識されます。
- (凡例)
-
△:半角スペース
↓:改行