14.9.1 規則
(1) pdsdbexeコマンドの実行条件
-
pdsdbexeコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pdsdbexeコマンドは,HiRDBに接続可能なマシンで実行してください。
- 参考
-
接続先のHiRDBのバージョンとpdsdbexeコマンドのバージョンが異なっていてもpdsdbexeコマンドを実行できます。DMLコマンドは,接続先のHiRDBのバージョンの仕様に従って実行されます。そのため,接続先のHiRDBのバージョンが古い場合,未サポートの機能が原因でエラーになることがあります。
接続先のHiRDBのバージョンは,個別開始時のHiRDBのバージョン情報に出力されます。pdsdbexeコマンドのバージョンは,pdsdbexeコマンドの開始メッセージに出力されます。
(2) コマンドの実行者
pdsdbexeコマンドを実行する際,CONNECT権限が必要になります。
(3) コマンド実行前の作業
-
pdsdbexeコマンド実行時のカレントディレクトリに,pdsdbexeコマンドの実行者の書き込み権限があることを確認してください。
-
クライアント環境定義のPDLANGに,pdsetupコマンドで指定した文字コードが指定されていることを確認してください。PDLANGについては,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」を参照してください。
(4) pdsdbexe操作コマンドの指定規則
-
pdsdbexe操作コマンドの終わりには,セミコロン( ; )を記述してください。セミコロン以降は,コメントとして扱われます。セミコロンがない場合は,継続行(pdsdbexe操作コマンドが途中である)として扱われます。例を次に示します。
(例)
START "FMB1" ←継続行 ACSRDAREA("RDAREA1", ←継続行 "RDAREA2"); ←DMLコマンドの終了
- 参考
-
継続行は,改行記号が削除されたあとに連結されます。
-
改行コードには,LF(X'0A')または,CRLF(X'0D0A')を指定できます。pdsdbexe操作コマンド中の任意の位置に改行コードを指定できますが,改行コードを区切り文字として使用することはできません。
pdsdbexe操作コマンド中に指定された改行コードは,pdsdbexe操作コマンドの実行時にすべて削除されます。そのため,文字列定数の途中に改行コードを指定しても問題ありません(長い文字列定数を複数行に分けて記述できます)。
-
pdsdbexe操作コマンド中のキーワードとキーワードの間や,キーワードと名前の間などには,区切り文字を指定する必要があります。区切り文字には,空白(X'20')またはタブ(X'09')を指定できます。
例えば,「MODIFY RECB」と指定した場合,MODIFYとRECBの間に区切り文字を指定する必要があります。
区切り文字を指定する必要がある個所については,マニュアル「HiRDB SQLリファレンス」の「区切り文字の挿入」を参照してください。
-
認可識別子などの名前に英小文字を使用する場合は,名前を引用符( " )で囲んでください。引用符で囲まないと,英小文字は英大文字に変換されます。また,アポストロフィ( ' )または引用符で囲まれた部分は変換されません。
-
名前に予約語を使用する場合は,名前を引用符( " )で囲んでください。囲まないとpdsdbexe操作コマンドがエラーになることがあるため,名前は引用符で囲んで指定することを推奨します。予約語については,「付録O.1 DMLの予約語」を参照してください。
-
次の個所にコメントを記述できます。/*と*/で囲まれた部分がコメントになります。
-
セミコロンから改行までの間
-
pdsdbexe操作コマンド中ではなく,pdsdbexe操作コマンドの文字列を含まない行
(例1)
START "FMB1" ACSRDAREA("RDAREA1", "RDAREA2"); /* 個別開始 */<改行>
(例2)
/* 個別開始 */ START "FMB1" ACSRDAREA("RDAREA1", "RDAREA2"); /* FMB1へのアクセス */ /* RDエリア名RDAREA1,RDAREA2 */
-
-
pdsdbexe操作コマンド中にコメントは記述できません。
(指定できない例)
START "FMB1" ACSRDAREA("RDAREA1", /* 個別開始 */ /* FMB1へのアクセス */ "RDAREA2");
-
コメントを指定した行には,pdsdbexe操作コマンドを指定できません。
(指定できない例)
/* 個別開始 */ START "FMB1" ACSRDAREA("RDAREA1", "RDAREA2");
-
コメントを複数行に分けて記述することはできません。
(指定できない例)
/* 個別開始 FMB1へのアクセス */ START "FMB1" ACSRDAREA("RDAREA1", "RDAREA2");
-
1行の長さは,改行コードを含んで65,530バイトを超えてはいけません。
-
pdsdbexe操作コマンドの長さは,2,000,000バイトを超えてはいけません(pdsdbexe操作コマンド中に指定した区切り文字も含む長さです)。
-
X'00'〜X'1F'のコードを指定した場合,空白に変換されます。
-
pdsdbexe操作コマンドで指定する文字の文字コードは,pdsetupコマンドで指定した文字コードと同じである必要があります。