アプリケーションをコンパイル・リンクするためには、作業に先立って必要な環境を設定しておく必要があります。設定すべき環境には、以下のものがあります。
環境変数の設定
作業用のディレクトリ構成
アプリケーションをコンパイル・リンクするために必要な環境変数を以下に示します。
環境変数名 | 意味 |
---|---|
LANG(必須項目) | アプリケーションのロケールを指定します。アプリケーションの言語や文字コード系に何を使いたいかによってロケールを決めます。ロケールは具体的には、以下に影響を与えます。
SQLメッセージは、以下の環境変数の強度にしたがってロケールが決まります。 (強い)LC_ALL > LC_MESSAGE > LANG(弱い) Symfoware/RDBは、ロケールの言語がjaで始まる場合は日本語のメッセージを出力し、それ以外のロケール(Cロケールなど)の場合は英語でメッセージを出力します。 |
環境変数“LANG”の設定の例を以下に示します。
setenv LANG ja_JP.eucJP [bash、Bシェル、Kシェルの場合] LANG=ja_JP.eucJP; export LANG
setenv LANG ja_JP.UTF-8 [bashの場合] LANG=ja_JP.UTF-8; export LANG |
アプリケーションのロケールと文字コード系の関係を示します。
対象OS | 文字コード系 | ロケール |
---|---|---|
Solaris | EUCコード | ja |
ja_JP.eucJP | ||
シフトJISコード | ja_JP.PCK | |
UNICODE | ja_JP.UTF-8 | |
Linux | UNICODE | ja_JP.UTF-8 |
備考) メッセージを英語で出力したい場合は、ロケールにCを指定してください。その際の文字コード系の指定については、“2.3.1 文字コード系の決定”を参照してください。
アプリケーションをコンパイルするときに必要に応じて設定する環境変数を以下に示します。これらの環境変数を設定しておくことにより、コンパイル時にsqlcc、sqlfccまたはsqlcobolでオプションを指定する必要がなくなります。
環境変数名 | 意味 |
---|---|
RDBDB | アプリケーションで指定するデータベース名を指定します。 |
環境変数“RDBDB”の設定の例を以下に示します。
setenv RDBDB DB1 [bash、Bシェル、Kシェルの場合] RDBDB=DB1; export RDBDB
setenv RDBDB DB1 [bashの場合] RDBDB=DB1; export RDBDB | |
SQLPC (Cプログラム時) | コンパイル時の起動オプションを指定します。起動オプションには、以下のものがあります。
|
環境変数“SQLPC”の設定の例を以下に示します。
setenv SQLPC '-I /sqlapp/include ' [bash、Bシェル、Kシェルの場合] SQLPC='-I /sqlapp/include '; export SQLPC
setenv SQLPC '-I /sqlapp/include ' [bashの場合] SQLPC='-I /sqlapp/include '; export SQLPC | |
SQLPCOB (COBOLプログラム時) | コンパイル時の起動オプションを指定します。起動オプションには、以下のものがあります。
本オプションは、アプリケーションの文字コード系がUNICODEの場合のみ指定できます。本オプションを省略した場合は、UCS-2のリトルエンディアン形式でコンパイルします。 |
環境変数“SQLPCOB”の設定の例を以下に示します。
setenv SQLPCOB '-I /sqlapp/include ' [bash、Bシェル、Kシェルの場合] SQLPCOB='-I /sqlapp/include '; export SQLPCOB
setenv SQLPCOB '-I /sqlapp/include ' [bashの場合] SQLPCOB='-I /sqlapp/include '; export SQLPCOB | |
INCDIR | インクルードファイルのディレクトリを指定します。 環境変数“INCDIR”は、アプリケーション中にINCLUDE文を記述した場合に、Cプログラムの場合は環境変数“SQLPC”と、COBOLプログラムの場合は環境変数“SQLPCOB”と併用して設定できます。環境変数の指定がない場合は、Cプログラム時は環境変数“SQLPC”およびコンパイル時のみ有効となり、COBOLプログラム時は環境変数“SQLPCOB”およびコンパイル時のみ有効となります。 |
環境変数“INCDIR”の設定の例を以下に示します。
setenv INCDIR /sqlapp/include:/splapp2/include:/use/include [bash、Bシェル、Kシェルの場合] INCDIR=/sqlapp/include:/splapp2/include:/use/include; export INCDIR
setenv INCDIR /sqlapp/include:/splapp2/include:/use/include [bashの場合] INCDIR=/sqlapp/include:/splapp2/include:/use/include; export INCDIR |
注) -Wオプションに指定する値と、その値で利用可能なSQLの機能の関係は以下のとおりです。
-Wオプション | SQLの機能 | |
---|---|---|
-W2007 | 数値関数 | ACOS |
ASIN | ||
ATAN | ||
ATAN2 | ||
COS | ||
EXP | ||
LN | ||
POWER | ||
SIGN | ||
SIN | ||
SQRT | ||
TAN | ||
ASCII | ||
OCTET_POSITION | ||
データ列値関数 | LTRIM | |
RTRIM | ||
OCTET_SUBSTRING | ||
CHR | ||
日時値関数 | CNV_TIME | |
CNV_TIMESTAMP | ||
XMLQUERY関数 | ||
述語 | XMLEXISTS述語 | |
ROWNUM | ||
-W2000および-W2007 | ファンクションルーチン | |
ロール | ||
プロシジャ例外事象 | 条件宣言 | |
ハンドラ宣言 | ||
SIGNAL文 | ||
RESIGNAL文 | ||
-W96、-W2000および-W2007 | トリガ | |
行識別子 | ||
並列指定 | ||
-W95、-W96、-W2000および-W2007 | プロシジャルーチン | |
-W92、-W95、-W96、-W2000および-W2007 | 定数 | 日時定数 |
時間隔定数 | ||
データ型 | 日時型 | |
時間隔型 | ||
BLOB型 | ||
順序定義 | ||
一時表定義 | ||
数値関数 | POSITION | |
EXTRACT | ||
CHAR_LENGTH | ||
CHARACTER_LENGTH | ||
OCTET_LENGTH | ||
データ列値関数 | SUBSTRING | |
UPPER | ||
LOWER | ||
TRIM | ||
日時値関数 | CURRENT_DATE | |
CURRENT_TIME | ||
CURRENT_TIMESTAMP | ||
CAST指定 | ||
CASE式 | NULLIF | |
COALESCE | ||
CASE | ||
結合表 | ||
カーソルのSCROLL指定 |
ただし、環境変数RDBDBを指定した場合、またはSQLPCおよびSQLPCOBでコンパイル時の起動オプションに-dを指定した場合、そのアプリケーションからCONNECT文を実行することはできません。
アプリケーションをCOBOLで作成する場合は、COBOLプログラムのコンパイルのための環境変数の定義も必要となります。
参照
COBOLプログラムのコンパイルのために必要な環境変数の定義については、“Sun日本語COBOL使用手引書”、“NetCOBOL使用手引書”または“COBOL97使用手引書”を参照してください。