Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

上へ第4章 応用プログラムの翻訳・結合編集
上へ4.1 UNIX系を使用した場合の応用プログラムの翻訳・結合編集

4.1.2 翻訳・結合編集のための環境設定

応用プログラムを翻訳・結合編集するためには、作業に先立って必要な環境を設定しておく必要があります。設定すべき環境には、以下のものがあります。

■環境変数の設

応用プログラムを翻訳・結合編集するために必要な環境変数を表:応用プログラムを翻訳・結合編集する場合に必要な環境変数に示します。

[表:応用プログラムを翻訳・結合編集する場合に必要な環境変数]

環境変数名

意味

LANG(必須項目)

表示するメッセージの言語の種類を以下の中から選択します。

  • [文字コード系がEUC環境の場合]

    • ja(japanese):日本語で表示します。(Solaris OEの場合)

    • ja_JP.eucJP:日本語で表示します。(Linuxの場合)

    • C :英語で表示します。

  • [文字コード系がシフトJIS環境の場合]

    • ja_JP.PCK :日本語で表示します。(Solaris OEの場合)

    • C :英語で表示します。

  • [文字コード系がUNICODE環境の場合]

    • ja_JP.UTF-8 :日本語で表示します。(Linuxの場合)

    • C :英語で表示します。

環境変数“LANG”の設定の例を以下に示します。

[Cシェルの場合]

setenv LANG ja

[bash、Bシェル、Kシェルの場合]

LANG=ja; export LANG

応用プログラムを翻訳するときに必要に応じて設定する環境変数を表:応用プログラムを翻訳・結合編集する場合に必要に応じて設定する環境変数に示します。これらの環境変数を設定しておくことにより、翻訳時にsqlcc、sqlfccまたはsqlcobolでオプションを指定する必要がなくなります。

[表:応用プログラムを翻訳・結合編集する場合に必要に応じて設定する環境変数]

環境変数名

意味

RDBDB

応用プログラムで指定するデータベース名を指定します。

環境変数“RDBDB”の設定の例を以下に示します。

[Cシェルの場合]

setenv RDBDB DB1

[bash、Bシェル、Kシェルの場合]

RDBDB=DB1; export RDBDB

SQLPC

(Cプログラム時)

翻訳時の起動オプションを指定します。起動オプションには、以下のものがあります。

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

  • -d:データベース名

  • -R:SQL文の予約語をSQL88でコンパイルする場合に指定

  • -W:SQL文の予約語の種別を指定

    • -W95:プロシジャルーチン(条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文は除く)を利用する場合に指定

    • -W96:プロシジャルーチン(条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文は除く)、トリガ、行識別子または並列指定を利用する場合に指定

    • -W2000:プロシジャルーチン、トリガ、行識別子、並列指定、ロールまたはファンクションルーチンを利用する場合に指定

  • -C:固定長文字列型のホスト変数に対して応用プログラムの実行時に、ナル文字(\0)を意識した処理をする場合に指定

  • -v9:64ビットマシンで実行するSQL埋込みCプログラムをコンパイルする場合に指定(Symfoware Server Enterprise Extended Editionでのみ使用可能)

  • -T:マルチスレッド環境で動作するSQL埋込みCプログラムをコンパイルする場合に指定

  • -K:選択リストに“*”を指定したカーソル宣言または単一行SELECT文や、挿入列リストを省略したINSERT文が、応用プログラムに記述されていないかチェックする場合に指定

環境変数“SQLPC”の設定の例を以下に示します。

[Cシェルの場合]

setenv SQLPC '-I /sqlapp/include '

[bash、Bシェル、Kシェルの場合]

SQLPC='-I /sqlapp/include '; export SQLPC

SQLPCOB

(COBOLプログラム時)

翻訳時の起動オプションを指定します。起動オプションには、以下のものがあります。

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

  • -d:データベース名

  • -R:SQL文の予約語をSQL88でコンパイルする場合に指定

  • -W:SQL文の予約語の種別を指定

    • -W95:プロシジャルーチン(条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文は除く)を利用する場合に指定

    • -W96:プロシジャルーチン(条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文は除く)、トリガ、行識別子または並列指定を利用する場合に指定

    • -W2000:プロシジャルーチン、トリガ、行識別子、並列指定、ロールまたはファンクションルーチンを利用する場合に指定

  • -Z:COBOLソース単位がクラス定義(オブジェクト指向プログラミング機能)の場合に指定

  • -A:SQL埋込みCOBOLプログラム中に単一の引用符を記述する場合に指定

  • -f:SQL埋込みCOBOLプログラムが固定形式の場合に指定

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

  • -G:SQL埋込みCOBOLプログラム中に集団項目を使用する場合に指定

  • -E1:SQL埋込みCOBOLプログラム中に集団項目繰り返しを使用する場合に指定

  • -g:エラーメッセージにSQL埋込みプログラムの行番号を出力する場合に指定

  • -T:マルチスレッド環境で動作するSQL埋込みCOBOLプログラムをコンパイルする場合に指定

  • -K:選択リストに“*”を指定したカーソル宣言または単一行SELECT文や、挿入列リストを省略したINSERT文が、応用プログラムに記述されていないかチェックする場合に指定

環境変数“SQLPCOB”の設定の例を以下に示します。

[Cシェルの場合]

setenv SQLPCOB '-I /sqlapp/include '

[bash、Bシェル、Kシェルの場合]

SQLPCOB='-I /sqlapp/include '; export SQLPCOB

INCDIR

インクルードファイルのディレクトリを指定します。

環境変数“INCDIR”は、応用プログラム中にINCLUDE文を記述した場合に、Cプログラムの場合は環境変数“SQLPC”と、COBOLプログラムの場合は環境変数“SQLPCOB”と併用して設定できます。環境変数の指定がない場合は、Cプログラム時は環境変数“SQLPC”および翻訳時のみ有効となり、COBOLプログラム時は環境変数“SQLPCOB”および翻訳時のみ有効となります。

環境変数“INCDIR”の設定の例を以下に示します。

[Cシェルの場合]

setenv INCDIR /sqlapp/include:/splapp2/include:/use/include

[bash、Bシェル、Kシェルの場合]

INCDIR=/sqlapp/include:/splapp2/include:/use/include;

export INCDIR

ただし、環境変数RDBDBを指定した場合、またはSQLPCおよびSQLPCOBの翻訳時の起動オプションに-dを指定した場合、その応用プログラムからCONNECT文を実行することはできません。

応用プログラムをCOBOLで作成する場合は、COBOLプログラムの翻訳のための環境変数の定義も必要となります。COBOLプログラムの翻訳のために必要な環境変数の定義については、“Sun日本語COBOL使用手引書”、“COBOL85使用手引書”または“COBOL97使用手引書”を参照してください。

■作業用のディレクトリ構

応用プログラムの翻訳・結合編集で参照あるいは作成するファイルを格納するための、作業用のディレクトリ構成を決めます。ディレクトリ構は、開発および保守のしやすさを考慮して作成してください。

本章で応用プログラムの翻訳・結合編集の例を示す場合、作業用のディレクトリは図:作業用のディレクトリ構成の例の構成で作成されているものとします。

[図:作業用のディレクトリ構成の例]

image


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2003-2004