MQDを使用するアプリケーション(プログラム)を翻訳または結合する場合の留意事項を以下に示します。
また、Interstageのトランザクション機能を使用する場合は、“アプリケーション作成ガイド(コンポーネントトランザクションサービス編)”および“アプリケーション作成ガイド(データベース連携サービス編)”を参照してください。
データベースを使用するアプリケーションの翻訳および結合の詳細については、“Symfoware Server RDBユーザーズガイド 応用プログラム開発編”を参照してください。
翻訳および結合の詳細については、その製品のマニュアルを参照してください。
翻訳
COBOL言語で作成したプログラムを翻訳する場合は、以下の翻訳オプションを指定します。
NOALPHAL
C言語で作成したプログラムを翻訳する場合は、以下のオプションを指定します。
-DWIN32
また、C言語で作成したプログラムの場合は、MQDが提供する以下のインクルードライブラリを指定してください。
------------------------------------------ $MQD\include ------------------------------------------ $MQD: MQDのインストール先フォルダ
COBOL言語で作成したプログラムを翻訳する場合は、以下のオプションを指定します。
PowerCOBOLの場合
-Tm -WC,"NOALPHAL"
Sun日本語COBOLの場合
-WC,"NOALPHAL"
C言語で作成したプログラムを翻訳する場合は、以下のオプションを指定します。
-mt -DFSUN
また、C言語で作成したプログラムの場合は、MQDが提供する以下のインクルードライブラリを指定してください。
------------------------------------------ /opt/FJSVmqd/include ------------------------------------------
注意
Symfoware/RDBトランザクション連携機能を利用するプログラムのプレコンパイルや翻訳を行う場合は、以下のオプションを指定しないでください。
-T(マルチスレッド環境で動作するSQL埋込みプログラムをコンパイルする場合の指定)
結合
プログラムの結合時(COBOL言語の場合は“WINLINK”実行時)には、表6.2 プログラムの結合時に指定するライブラリに示されるライブラリを動的結合してください。
言語 | ライブラリ名 | 格納場所 | 用途説明 |
---|---|---|---|
COBOL | libmqdcobapi.lib | $MQD\lib | MQDのCOBOL言語用インタフェース(必須) |
LIBC.lib | $COBOL | COBOL言語用ライブラリ(必須) | |
F3BICIMP.lib | $COBOL | COBOL言語用ライブラリ(必須) | |
C | libmqdapi.lib | $MQD\lib | MQDのC言語用インタフェース(必須) |
$MQD: MQDのインストール先フォルダ
$COBOL: COBOLのインストール先フォルダ
プログラムの結合時には、表6.3 プログラムの結合時に指定するライブラリに示されるライブラリを動的結合してください。
言語 | ライブラリ名 | 格納場所 | 用途説明 |
---|---|---|---|
COBOL | libmqdcobapi.so | /opt/FJSVmqd/lib | MQDのCOBOL言語用インタフェース |
libsqldrv.so(注1) | /opt/FSUNrdb2b/lib | Symfoware/RDBのライブラリ | |
COBOL | librcobol.so | /opt/FJSVCOBop/lib | COBOLランタイム(Sun日本語COBOLの場合必須) |
libthread.so(注2) | /usr/lib | スレッドライブラリ(必須) | |
libc.so | /usr/lib | Cランタイム(必須) | |
C | libmqdapi.so | /opt/FJSVmqd/lib | MQDのC言語用インタフェース(必須) |
libthread.so(注2) | /usr/lib | スレッドライブラリ(必須) | |
libc.so | /usr/lib | Cランタイム(必須) | |
libsqldrv.so(注1) | /opt/FSUNrdb2b/lib | Symfoware/RDBのライブラリ |
注1) libsqldrv.soを指定してください。マルチスレッド用のlibsqldrvm.soを指定しないでください。
注2) libthread.soは、libc.soよりも前に指定する必要があります。
なお、メッセージ格納ファイルとしてデータベースを使用する場合、環境変数名“LD_LIBRARY_PATH”にSymfowareおよび標準コード変換機能のライブラリ格納先ディレクトリの絶対パスを指定してください。
例
COBOL言語で作成した主プログラムを翻訳および結合する場合の例を以下に示します。
---------------------------------------------------------------------------------- PowerCOBOLの場合 cobol -M -Tm -WC,"NOALPHAL" -o appl1 -lmqdcobapi appl1.cob
Sun日本語COBOLの場合 cobol -M -WC,"NOALPHAL" -o appl1 -lthread -lc -lrcobol -lmqdcobapi appl1.cob ----------------------------------------------------------------------------------
COBOL言語で作成した副プログラムを翻訳および結合する場合の例を以下に示します。
----------------------------------------------------------------------------- PowerCOBOLの場合 cobol -c -Tm -WC,"NOALPHAL" appl2.cob ld -G -o libappl2.so appl2.o -lmqdcobapi
Sun日本語COBOLの場合 cobol -c -WC,"NOALPHAL" appl2.cob ld -G -o libappl2.so appl2.o -lthread -lc -lrcobol -lmqdcobapi -----------------------------------------------------------------------------
C言語で作成したプログラムを翻訳および結合する場合の例を以下に示します。
---------------------------------------------------------------------------------- cc -mt -DFSUN -I /opt/FJSVmqd/include -lthread -lc -lmqdapi appl3.c -o appl3 ----------------------------------------------------------------------------------