名前
sqlpcob -- SQL埋込みCOBOLプログラムのプレコンパイル
形式
sqlpcob [ -l ソースリストを出力するディレクトリ ] [ -t COBOLプログラムソースを出力するディレクトリ ] [ { -I インクルードファイルの配置ディレクトリ} ... ] [ -d データベース名 ] [ -ul ] [{ -W { 88 | 92 | 95 | 96 | 2000 | 2007 } | -R } ] [ -f ] [ -A ] [ -n ] [ -G ] [ -g ] [ -E1 ] [ -T ] [ -Z ] [ -v9 ] [ -un ] SQL埋込みCOBOLプログラムのファイル名
機能説明
SQL埋込みCOBOLプログラムを、プレコンパイルします。
オプション
本コマンドのオプションはすべて環境変数“SQLPCOB”で指定することができます。
環境変数“SQLPCOB”にパラメタを設定しておくと、コマンド実行時にオプションを指定する必要がなくなります。
パラメタが重複した場合の優先順位は、本コマンドのオプション、環境変数“SQLPCOB”の順番となります。
環境変数“SQLPCOB”の設定は、setコマンドで行うことができます。
以下にsetコマンドの例を示します。
set SQLPCOB=-l c:\rdb2\sqlapp\list -t c:\rdb2\sqlapp\csrc
プレコンパイルが出力するソースリストの出力先ディレクトリを指定します。
ディレクトリに指定できる長さは、1024バイトまでです。
ソースリストとは、SQL埋込みCOBOLプログラムの内容と行番号を、プレコンパイル後のソースファイルの行番号と対応付けたリストです。
ソースリストのファイル名は、SQL埋込みCOBOLプログラムのファイル名の拡張子を“.lst”に変換したものになります。
本オプションを省略した場合、カレントディレクトリに出力されます。
プレコンパイル後のCOBOLプログラムのソースファイルを出力するディレクトリを指定します。
ディレクトリに指定できる長さは、1024バイトまでです。
ソースファイル名は、SQL埋込みCOBOLプログラムのファイル名の拡張子を“.cob”に変換したものとなります。
本オプションを省略した場合、カレントディレクトリに出力されます。
SQL埋込みCOBOLプログラム中にINCLUDE文を記述している場合、取り込むファイルの配置先ディレクトリを指定します。
ディレクトリに指定できる長さは、1024バイトまでです。
このオプションは、複数回指定できますが、有効となるディレクトリの数は、環境変数での指定も含めて10個までです。
sqlpcobによるディレクトリのサーチ手順は、以下のようになります。
カレントディレクトリ
sqlpcobコマンドの-Iオプション
環境変数“SQLPCOB”の-Iオプション
環境変数“INCLUDE”
SQL埋込みCOBOLプログラムで利用するデータベース名を指定します。
ソースリストファイルを出力しない場合に指定します。
SQL文の予約語とSQL機能のレベルをSQL88、SQL92、SQL95、SQL96、SQL2000またはSQL2007でコンパイルする場合に指定します。
-Wオプションを指定した場合は、予約語とSQL機能のレベルを1つ選んで指定します。
また、-Rオプションを指定した場合は、SQL88でコンパイルします。
本オプションを省略した場合は、SQL2007でコンパイルします。
SQL埋込みCOBOLプログラムの記述形式が、固定形式の場合に指定します。
省略した場合は、可変形式とみなします。
なお、自由形式は未サポートです。
SQL埋込みCOBOLプログラム中の引用符の記述が、単一の引用符(')の場合に指定します。
省略した場合、二重引用符(")とみなします。
SQL埋込みCOBOLプログラム中の英小文字を英大文字と等価に扱わない場合に指定します。
SQL埋込みCOBOLプログラム中に集団項目を使用する場合に指定します。
COBOL行番号連携機能を利用する場合に指定します。
本オプションを指定した場合には、ソースリストファイルは作成されません。
SQL埋込みCOBOLプログラム中に集団項目繰り返しホスト変数を使用する場合に指定します。
本オプションを指定すると、FOR句を指定したINSERT文に集団項目繰り返しホスト変数を指定することができます。
また、プログラム中に集団項目を使用することができます。
マルチスレッド上で動作するSQL埋込みCOBOLプログラムを作成する場合に指定します。
COBOLソース単位がクラス定義の場合に指定します。
64ビットのSQL埋込みCOBOLプログラムを作成する場合に指定します。
本コマンドでプレコンパイルを行ったあと、独自にリンクする場合には、64ビット用の動的ライブラリをリンクしてください。
アプリケーションの文字コード系としてUNICODEを使用する場合に指定します。
オペランド
コンパイル前処理の対象とする、SQL埋込みCOBOLプログラムのソースファイル名を指定します。
使用例
ソースリストを出力するディレクトリを“c:\rdb\sqlapp\list”、インクルードファイルの配置ディレクトリを“c:\rdb\sqlapp\include”として、SQL埋込みCOBOLプログラム“demo01.eco”をプレコンパイルします。
sqlpcob -l c:\rdb\sqlapp\list -I c:\rdb\sqlapp\include demo01.eco
終了ステータス
以下の終了ステータスが返されます。
0 : 正常終了
0以外 : 異常終了
注意
オプション指定後の最初のオペランドを、SQL埋込みCOBOLプログラムのファイル名とみなします。
SQL埋込みCOBOLプログラムのファイル名の拡張子に“.cob”、“.cobol”および“.lst”は指定できません。
-dオプション指定をした場合は、同一システム内であることが必要です。
-dオプション指定をした場合は、SQL埋込みCOBOLプログラムにCONNECT文を記述してはいけません。
環境変数RDBDBにデータベース名を指定している場合でも、本コマンドで-dオプションを指定している場合は、-dオプションで指定したデータベース名が有効となります。
sqlpcobで作成されるファイルの一覧を以下の表に示します。ファイル名は、SQL埋込みCOBOLプログラムのファイル名の拡張子を、以下の表で示す拡張子に置き換えた名前となります。
ファイルの種類 | 拡張子 | 備考 |
---|---|---|
SQL文を取り除いたファイル | ~.cobol | 作業用ファイル(注1) |
ソースリストファイル | ~.lst | 作業用ファイル(注2) |
注1) COBOL言語のデバッグを使用してデバッグを行う場合に必要となります。
注2) -gオプションを指定した場合、ソースリストファイルは作成されません。
cobolソース単位がクラス定義の場合、COBOL97(V40L10)以降でコンパイルしてください。
マルチスレッド上で動作するSQL埋込みCOBOLプログラムを作成する場合、COBOL97(V50L10)以降でコンパイルしてください。また、コンパイル時にはCOBOL97用のオプション“THREAD(MULTI)”が必要となり、動作時にはCOBOL97用の環境変数“@CBR_SYMFOWARE_THREAD=MULTI”が必要となります。