ページの先頭行へ戻る
Symfoware Server V10.0.0 コマンドリファレンス

2.77 sqlcobol

名前

sqlcobol - SQL埋込みCOBOLプログラムのコンパイル・リンク

形式

sqlcobol [ -l ソースリストを出力するディレクトリ ]
         [ -t COBOLプログラムソースを出力するディレクトリ ]
         [ { -I インクルードファイルの配置ディレクトリ} ... ]
         [ -d データベース名 ]
         [ { -W { 88 | 92 | 95 | 96 | 2000 | 2007 } | -R } ]
         [ -f ]
         [ -A ]
         [ -n ]
         [ -G ]
         [ -g ]
         [ -E1 ]
         [ -T ]
         [ -K ]
         [ -Z ]
         [ -v9 ]
         [ -RCS { BE | LE } ]
         SQL埋込みCOBOLプログラムのファイル名
         [ cobolコマンド用のオプション ]

機能説明

SQL埋込みCOBOLプログラムを、コンパイルおよびリンクします。

オプション

本コマンドのオプションはすべて環境変数“SQLPCOB”で指定することができます。
環境変数“SQLPCOB”にパラメタを設定しておくと、コマンド実行時にオプションを指定する必要がなくなります。
パラメタが重複した場合の優先順位は、本コマンドのオプション、環境変数“SQLPCOB”の順番となります。
以下にCシェルの例を示します。

setenv SQLPCOB '-l /sqlapp/list -t /sqlspp/cobsrc
                -l /sqlapp/include'
-l ソースリストを出力するディレクトリ

出力するソースリストの出力先ディレクトリを指定します。
ソースリストとは、SQL埋込みCOBOLプログラムの内容と行番号を、コンパイル後のソースファイルの行番号と対応付けたリストです。
ディレクトリに指定できる長さは、1024バイトまでです。
ソースリストのファイル名は、SQL埋込みCOBOLプログラムファイル名の拡張子を“.lst”に変換したものになります。
本オプションを省略した場合、カレントディレクトリに出力されます。

-t COBOLプログラムソースを出力するディレクトリ

コンパイル後のCOBOLプログラムのソースファイルを出力するディレクトリを指定します。
ディレクトリに指定できる長さは、1024バイトまでです。
ソースファイル名は、SQL埋込みCOBOLプログラムのファイル名の拡張子を“.cobol”に変換したものとなります。
本オプションを省略した場合、カレントディレクトリに出力されます。

-I インクルードファイルの配置ディレクトリ

SQL埋込みCOBOLプログラム中にINCLUDE文を記述している場合、取り込むファイルの配置先ディレクトリを指定します。
ディレクトリに指定できる長さは、1024バイトまでです。
このオプションは、複数回指定できますが、有効となるディレクトリの数は、環境変数での指定も含めて10個までです。
sqlcobolによるディレクトリのサーチ手順は、以下のようになります。

  1. カレントディレクトリ

  2. sqlcobolコマンドの-Iオプション

  3. 環境変数“SQLPCOB”の-Iオプション

  4. 環境変数“INCDIR”

-d データベース名

SQL埋込みCOBOLプログラムで利用するデータベース名を指定します。

-W { 88 | 92 | 95 | 96 | 2000 | 2007 } | -R

SQL文の予約語とSQL機能のレベルをSQL88、SQL92、SQL95、SQL96、SQL2000またはSQL2007でコンパイルする場合に指定します。
-Wオプションを指定した場合は、予約語とSQL機能のレベルを1つ選んで指定します。
また、-Rオプションを指定した場合は、SQL88でコンパイルします。
本オプションを省略した場合は、SQL2007でコンパイルします。

-f

SQL埋込みCOBOLプログラムの記述形式が、固定形式の場合に指定します。
省略した場合は、可変形式とみなします。

-A

SQL埋込みCOBOLプログラム中の引用符の記述が、単一の引用符(')の場合に指定します。
省略した場合、二重引用符(")とみなします。

-n

SQL埋込みCOBOLプログラム中の英小文字を英大文字として扱わない場合に指定します。

-G

SQL埋込みCOBOLプログラム中に集団項目を使用する場合に指定します。

-g

エラーメッセージにSQL埋込みプログラムの行番号を出力します。
本オプションを指定した場合には、ソースリストファイルは作成されません。

-E1

SQL埋込みCOBOLプログラム中に集団項目繰り返しホスト変数を使用する場合に指定します。
本オプションを指定すると、FOR句を指定したINSERT文に集団項目繰り返しホスト変数を指定することができます。
また、プログラム中に集団項目を使用することができます。

-T

マルチスレッド上で動作するSQL埋込みCOBOLプログラムを作成する場合に指定します。

-K

選択リストに“*”を指定したカーソル宣言および単一行SELECT文や、挿入列リストを省略したINSERT文が、アプリケーションに記述されていないかチェックする場合に指定します。
アプリケーションに記述されていた場合は、エラーメッセージを出力します。

-Z

COBOLソース単位がクラス定義の場合に指定します。

-v9

64ビットのSQL埋込みCOBOLプログラムを作成する場合に指定します。
本オプションは、Linuxの場合に指定できます。

-RCS { BE | LE }

UNICODE環境で動作するアプリケーションの各国語文字列型ホスト変数のコード系を設定します。
BEが指定された場合はUCS2になります。LEが指定された場合はUCS2Bになります。
また、本オプションは、UNICODE環境の場合のみ指定できます。
本オプションを省略した場合は、UCS2Bでコンパイルします。
なお、本オプションは、Linuxの場合に指定できます。

オペランド

SQL埋込みCOBOLプログラムのファイル名

コンパイル前処理の対象とする、SQL埋込みCOBOLプログラムのソースファイル名を指定します。

cobolコマンド用のオプション

sqlcobolは、SQL埋込みCOBOLプログラムのロードモジュールを作成するために、cobolコマンドを実行します。
このとき、cobolコマンドに渡すオプションを指定します。

使用例

主プログラムであるSQL埋込みCOBOLプログラムは“demo02.scob”に格納されているとします。
作成するロードモジュールのファイルは“demo02”とします。
また、INCLUDE文により取り込むファイルが配置されたディレクトリは“/home/RDBII/include”とします。

sqlcobol -I /home/RDBII/include demo02.scob -M -o ../bin/demo02

終了ステータス

以下の終了ステータスが返されます。

0 : 正常終了
0以外 : 異常終了

注意