Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU - |
目次
索引
![]() ![]() |
第5章 アプリケーションの翻訳・結合編集 | > 5.1 UNIX系を使用した場合のアプリケーションの翻訳・結合編集 |
翻訳・結合編集を行うには、以下の2つの方法があります。
翻訳・結合編集を一括して実行する
プレコンパイルとコンパイルを分けて実行する
翻訳・結合編集を一括して実行する場合は、標準シェルプロシジャを利用します。プレコンパイルとコンパイルを分けて実行する場合は、sqlpcコマンドまたはsqlpcobコマンドを利用します。
アプリケーションを翻訳・結合編集するためのシェルプロシジャが、システムから提供されています。これを、標準シェルプロシジャと呼びます。標準シェルプロシジャは、以下のファイルに提供されています。
なお、これらのファイル名は標準シェルプロシジャを“/opt”配下のディレクトリにインストールした場合のものです。
OSの種類 |
ファイル名 |
備考 |
---|---|---|
|
/opt/FSUNrdb2b/demo/shell/sqlcc または |
C言語用のシェルプロシジャ |
/opt/FSUNrdb2b/demo/shell/sqlcobol |
COBOL用のシェルプロシジャ |
|
|
/opt/FJSVrdb2b/demo/shell/sqlcc |
C言語用のシェルプロシジャ |
/opt/FJSVrdb2b/demo/shell/sqlcobol |
COBOL用のシェルプロシジャ |
C言語用の標準シェルプロシジャはsqlccです。Solaris OEの場合は、sqlfccも使用できます。sqlccおよびsqlfccの入力ファイルは、SQL埋込みCプログラムのソースファイルです。このファイル名にはサフィックスとして“.c”および“.lst”以外を指定する必要があります。出力ファイルは実行可能プログラムです。また、sqlccおよびsqlfccは作業用のファイルを作成します。作業用のファイルについては、ファイル名が自動的に決定されカレントディレクトリに作成されます。C言語の場合は、文字コード系に依存しないロードモジュールが作成されます。文字コード系は実行時にクライアント用の動作環境ファイルまたは環境変数で指定します。sqlccおよびsqlfccの使用例を以下に示します。
例
“main”を持つSQL埋込みCプログラム(demo01.sc)を翻訳・結合編集します。ロードモジュールは“demo01”とします。
cd /home/rdb2/application/src sqlcc -I/home/rdb2/include demo01.sc -o ../bin/demo01 (1) (2) (3)
cd /home/rdb2/application/src sqlfcc -I/home/rdb2/include demo01.sc -o ../bin/demo01 (1) (2) (4)(1) インクルードファイルを検索するディレクトリを指定するオプション
(2) SQL埋込みCプログラムのファイル名
(3) ccコマンド用のオプション
(4) fccコマンド用のオプション
sqlccまたはsqlfccでは、使用するインクルードファイルの配置ディレクトリなどのオプションが指定できます。64ビットで実行するSQL埋込みCプログラムを翻訳・結合編集する場合は、-v9を指定してください。また、マルチスレッド環境で動作するSQL埋込みCプログラムを翻訳・結合編集する場合は、-Tを指定してください。
オプションの詳細については、“コマンドリファレンス”を参照してください。
SQL埋込みCプログラムで記述されたアプリケーションの、ソースファイルを指定します。
sqlccはロードモジュールを作成するために、ccコマンドを実行します。このとき、ccコマンドに渡すオプションを指定します。
sqlccはロードモジュールを作成するために、gccコマンドを実行します。このとき、gccコマンドに渡すオプションを指定します。
sqlfccはロードモジュールを作成するために、fccコマンドを実行します。このとき、fccコマンドに渡すオプションを指定します。
COBOL用の標準シェルプロシジャはsqlcobolです。sqlcobolの入力ファイルは、SQL埋込みCOBOLプログラムのソースファイルです。このファイル名にはサフィックスとして“.cobol”および“.lst”以外を指定する必要があります。出力ファイルはロードモジュールです。また、sqlcobolは作業用のファイルを作成します。作業用のファイルについては、ファイル名が自動的に決定されカレントディレクトリに作成されます。sqlcobolの使用例を以下に示します。
例
主プログラムであるSQL埋込みCOBOLプログラム(demo02.scob)を、翻訳・結合編集します。ロードモジュールは“demo02”とします。
cd /home/rdb2/application/src sqlcobol -I/home/rdb2/include demo02.scob (1) (2) -M -o ../bin/demo02 (3)(1) インクルードファイルを検索するディレクトリを指定するオプション
(2) SQL埋込みCOBOLプログラムのファイル名
(3) cobolコマンド用のオプション
sqlcobolでは、使用する登録集原文ファイルの配置ディレクトリなどのオプションが指定できます。64ビットで実行するSQL埋込みCOBOLプログラムを翻訳・結合編集する場合は、-v9を指定してください。また、マルチスレッド環境で動作するSQL埋込みCOBOLプログラムを翻訳・結合編集する場合は、-Tを指定してください。
オプションの詳細については、“コマンドリファレンス”を参照してください。
SQL埋込みCOBOLプログラムで記述されたアプリケーションの、ソースファイルを指定します。
sqlcobolはロードモジュールを作成するために、cobolコマンドを実行します。このとき、cobolコマンドに渡すオプションを指定します。
アプリケーションを翻訳・結合編集するために、まずsqlpcコマンドまたはsqlpcobコマンドを利用してプレコンパイルします。アプリケーションをプレコンパイルすることによって、アプリケーション中のSQL文を翻訳し、標準のCプログラムまたはCOBOLプログラムに変換します。その後、ccコマンド、gccコマンド、fccコマンドまたはcobolコマンドを利用してロードモジュールを作成します。
プレコンパイルによって作成されたソースファイルは、中身を変更しないでください。
C言語用のプレコンパイルコマンドは、sqlpcです。sqlpcコマンドの入力ファイルは、SQL埋込みCプログラムのソースファイルです。このファイル名にはサフィックスとして“.c”および“.lst”以外を指定する必要があります。出力ファイルはCプログラムのソースファイルで、ファイル名にサフィックスとして“.c”が付きます。
sqlpcコマンドの詳細については、“コマンドリファレンス”を参照してください。
プレコンパイルが終了したら、ロードモジュールを作成します。ロードモジュールを作成するためには、ccコマンドまたはfccコマンドを実行します。C言語の場合は、文字コード系に依存しないロードモジュールが作成されます。文字コード系は実行時にクライアント用の動作環境ファイルまたは環境変数で指定します。
C言語を使用した、翻訳・結合編集の例を以下に示します。
例
主プログラムであるSQL埋込みCプログラム(demo03.sc)を、翻訳・結合編集します。ロードモジュールは“demo03”とします。なお、Linuxの場合は、Lオプションに指定するパス名を読み替えてください。
cd /home/rdb2/application/src sqlpc demo03.sc (1) cc -o ../bin/demo03 -lsqldrv -L/opt/FSUNrdb2b/lib demo03.c (2) (3) (4)(1) SQL埋込みCプログラムのファイル名
(2) RDBライブラリを指定するオプション
(3) RDBライブラリのパスを指定するオプション
(4) プレコンパイル後のSQL埋込みCプログラムのファイル名
COBOL用のプレコンパイルコマンドは、sqlpcobです。sqlpcobコマンドの入力ファイルは、SQL埋込みCOBOLプログラムのソースファイルです。このファイル名にはサフィックスとして“.cobol”および“.lst”以外を指定する必要があります。出力ファイルはCOBOLプログラムのソースファイルで、ファイル名にサフィックスとして“.cobol”が付きます。
sqlpcobコマンドの詳細については、“コマンドリファレンス”を参照してください。
プレコンパイルが終了したら、ロードモジュールを作成します。ロードモジュールを作成するためには、cobolコマンドを実行します。
COBOLを使用した、翻訳・結合編集の例を以下に示します。
例
主プログラムであるSQL埋込みCOBOLプログラム(demo04.sco)を、翻訳・結合編集します。ロードモジュールは“demo04”とします。
cd /home/rdb2/application/src sqlpcob demo04.sco (1) cobol -M -o ../bin/demo04 -lsqldrv -L/opt/FSUNrdb2b/lib demo04.cobol (2) (3) (4)(1) SQL埋込みCOBOLプログラムのファイル名
(2) RDBライブラリを指定するオプション
(3) RDBライブラリのパスを指定するオプション
(4) プレコンパイル後のSQL埋込みCOBOLプログラムのファイル名
ccコマンド、gccコマンド、fccコマンドおよびcobolコマンドの実行時には、必要に応じてオプションを指定します。アプリケーションを翻訳・結合編集する場合に必要なオプションを以下に示します。
指定するオプション |
オプションの役割 |
---|---|
-M |
COBOLの場合に指定 |
-L/opt/FSUNrdb2b/lib |
RDBライブラリパス指定 |
-L/opt/FJSVrdb2b/lib |
RDBライブラリパス指定 |
-lsqldrvm |
RDBライブラリ名(32ビットでかつ、マルチスレッドで動作するアプリケーションを翻訳・結合編集する場合に使用) |
-lsqldrv |
RDBライブラリ名(32ビットで実行するアプリケーションを翻訳・結合編集する場合に使用) |
-lsql64drvm |
RDBライブラリ名(64ビットでかつ、マルチスレッドで実行するアプリケーションを翻訳・結合編集する場合に使用) |
-lsql64drv |
RDBライブラリ名(64ビットで実行するアプリケーションを翻訳・結合編集する場合に使用) |
-xarch=v9 |
64ビットで実行するSQL埋込みCプログラムを翻訳・結合編集する場合に指定 |
-mt |
マルチスレッドで動作するアプリケーションを翻訳・結合編集する場合に指定 |
-D_REENTRANT -lpthread |
マルチスレッドで動作するアプリケーションを翻訳・結合編集する場合に指定 |
目次
索引
![]() ![]() |