埋め込みSQLが記述されたサーバアプリケーションを、コンパイルおよびリンクする方法について説明します。
詳細については、それぞれのデータベースシステムのマニュアルを参照してください。
■プレコンパイル
サーバアプリケーションがC言語の場合はsqlpcコマンド、COBOLの場合はsqlpcobコマンドを利用して、SQL文が埋め込まれたソースファイルから、コンパイル可能なソースファイルを作成します。
注意
C言語アプリケーションを使用できるのは、同期アプリケーション連携実行基盤だけです。
以下に、サーバアプリケーションを正しく動作させるために最低限必要なオプションについて説明します。そのほかのオプションについては、Symfoware Serverのマニュアルを参照し、サーバアプリケーションに記載するSQLの仕様に合わせて適切に指定してください。
オプション | 意味 |
---|---|
-v9 | 64Bitモードで動作させるために指定します。 |
-T | スレッドモードの場合に指定します。 |
オプション | 意味 |
---|---|
-v9 | 64Bitモードで動作させるために指定します。 |
-T | スレッドモードの場合に指定します。 |
オプション | 意味 |
---|---|
-v9 | 64Bitモードで動作させるために指定します。 |
-T | 必ず指定します。 |
プレコンパイルの例を以下に示します。
◆C言語の場合
埋め込みSQLが記載されたソースファイル名:serverapl.sc
sqlpc -T -v9 serverapl.sc |
sqlpc -T -v9 serverapl.sc |
sqlpc -T -v9 serverapl.sc |
◆COBOLの場合
埋め込みSQLが記載されたソースファイル名:serverapl.scob
sqlpcob -T -v9 serverapl.scob |
sqlpcob -T -v9 serverapl.scob |
sqlpcob -T -v9 serverapl.scob |
注意
sqlpcコマンド、およびsqlpcobコマンドのプレコンパイル時に、-dオプションでSQL文が操作するデータベースを指定できますが、データベースアクセス管理機能を利用する場合には、-dオプションの機能は利用できません。データベースアクセス定義、およびデータベースリソース定義に従って、SQL文の操作が行われます。
■コンパイルとリンク
以下に、埋め込みSQLが記述されたサーバアプリケーションをコンパイルおよびリンクするために必要なオプションを示します。そのほかに必要となるオプションおよび、サーバアプリケーションのコンパイルとリンクの手順については、開発言語に応じて以下を参照してください。
◆C言語を利用する場合
オプション | 意味 |
---|---|
-I/opt/FJSVibs/include | インクルードファイルが格納されたパスを指定します。コンパイルする場合に使用します。 |
-D_REENTRANT | スレッドモードで実行するサーバアプリケーションを、コンパイルする場合に使用します。 |
-m64 | 64ビットの出力ファイルを生成するために使用します。 |
-L/opt/FSUNrdb2b/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdr | スレッドモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
-lapfwcdr_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
オプション | 意味 |
---|---|
-I/opt/FJSVibs/include | インクルードファイルが格納されたパスを指定します。コンパイルする場合に使用します。 |
-D_REENTRANT | スレッドモードで実行するサーバアプリケーションを、コンパイルする場合に使用します。 |
-L/opt/FJSVrdb2b/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdr | スレッドモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
-lapfwcdr_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
使用する統合開発環境に従って、コンパイルおよびリンクを実行してください。コンパイルおよびリンクをする際は以下の値を使用してください。
構成プロパティ | 項目 | 設定値 | |
---|---|---|---|
C/C++ | 全般 | 追加のインクルード ディレクトリ |
|
コード生成 | 使用するランタイム | マルチスレッド(DLL) | |
構造体メンバのアライメント | 8バイト | ||
言語 | wchar_tをビルドイン型として扱う | いいえ | |
詳細 | 呼び出しの規約 | _cdecl | |
リンク | 全般 | 追加のライブラリ ディレクトリ |
|
入力 | 追加の依存ファイル |
|
◆COBOLを利用する場合
オプション | 意味 |
---|---|
-I/opt/FJSVibs/copy | COBOL登録集が格納されたパスを指定します。コンパイルする場合に使用します。 |
-Tm | スレッドモードで実行するサーバアプリケーションを、コンパイルおよびリンクする場合に使用します。 |
-L/opt/FSUNrdb2b/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdrcobol | スレッドモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
-lapfwcdrcobol_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
オプション | 意味 |
---|---|
-I/opt/FJSVibs/copy | COBOL登録集が格納されたパスを指定します。コンパイルする場合に使用します。 |
-Tm | スレッドモードで実行するサーバアプリケーションを、コンパイルおよびリンクする場合に使用します。 |
-L/opt/FJSVrdb2b/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdrcobol | スレッドモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
-lapfwcdrcobol_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に指定します。 |
使用する統合開発環境に従って、以下の値を使用して、コンパイルおよびリンクを実行してください。
COBOL登録集ファイルの格納先フォルダ |
|
ライブラリの格納先フォルダ |
|
ライブラリ |
|
翻訳オプション |
|
Oracleを利用するサーバアプリケーションの、コンパイルおよびリンクの手順について説明します。
Oracleを利用するサーバアプリケーションのコンパイルおよびリンクには、Oracle Clientが必要です。
■プレコンパイル
サーバアプリケーションがC言語の場合はprocコマンド、COBOLの場合はprocobコマンドを利用して、SQL文が埋め込まれたソースファイルから、コンパイル可能なソースファイルを作成します。
以下に、サーバアプリケーションを正しく動作させるために最低限必要なオプションについて説明します。そのほかのオプションについては、Oracleのマニュアルを参照し、サーバアプリケーションに記載するSQLの仕様に合わせて適切に指定してください。
オプション | 意味 |
---|---|
Maxliteral | プレコンパイルが展開するソースコードの"定数"の最大長です。 |
Threads | C言語を利用する場合、スレッドモードの場合には“yes”、プロセスモードの場合は“no”を指定します。 |
注)次の条件の場合には、ワークユニットのスレッド多重度を1で運用する必要があります。
データベースアクセス管理機能を利用する場合で、かつ、
Oracleを利用する場合で、かつ、
サーバアプリケーションにCOBOLを使用する場合
プレコンパイルの例を以下に示します。
◆C言語の場合
埋め込みSQLが記載されたソースファイル名:serverapl.pc
proc threads=yes mode=ansi include=${ORACLE_HOME}/rdbms/public/ serverapl.pc |
備考.${ORACLE_HOME}には、Oracleのホームディレクトリを指定します。
proc threads=yes mode=ansi include=[Oracleのホームディレクトリ]\precomp\public serverapl.pc |
備考.[Oracleのホームディレクトリ]には、Oracleのホームディレクトリを指定します。
◆COBOLの場合
埋め込みSQLが記載されたソースファイル名:serverapl.pcob
procob maxliteral=160 threads=no mode=ansi serverapl.pcob |
procob maxliteral=160 threads=no comp5=yes mode=ansi serverapl.pcob |
procob maxliteral=160 threads=no mode=ansi serverapl.pcob |
注意
プレコンパイル時に、AUTO_CONNECTオプションでSQL文が操作するデータベースを指定できますが、データベースアクセス管理機能を利用する場合には、AUTO_CONNECTオプションの機能は利用できません。データベースアクセス定義、およびデータベースリソース定義に従って、SQL文の操作が行われます。
■コンパイルとリンク
以下に、埋め込みSQLが記述されたサーバアプリケーションを、コンパイルおよびリンクするために必要なオプションを示します。そのほかに必要となるオプションおよび、サーバアプリケーションのコンパイルとリンクの手順については、開発言語に応じて以下を参照してください。
◆C言語を利用する場合
${ORACLE_HOME}には、Oracleのホームディレクトリを指定します。
オプション | 意味 |
---|---|
-I/opt/FJSVibs/include | インクルードファイルが格納されたパスを指定します。コンパイルする場合に使用します。 |
-D_REENTRANT | スレッドモードで実行するサーバアプリケーションを、コンパイルする場合に使用します。 |
-m64 | 64ビットの出力ファイルを生成するために使用します。 |
-L${ORACLE_HOME}/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdr | スレッドモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
-lapfwcdr_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
注)${ORACLE_HOME}には、Oracleのホームディレクトリを指定します。
オプション | 意味 |
---|---|
-I/opt/FJSVibs/include | インクルードファイルが格納されたパスを指定します。コンパイルする場合に使用します。 |
-D_REENTRANT | スレッドモードで実行するサーバアプリケーションを、コンパイルする場合に使用します。 |
-L${ORACLE_HOME}/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdr | スレッドモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
-lapfwcdr_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
注)${ORACLE_HOME}には、Oracleのホームディレクトリを指定します。
使用する統合開発環境に従って、コンパイルおよびリンクを実行してください。コンパイルおよびリンクをする際は以下の値を使用してください。
構成プロパティ | 項目 | 設定値 | |
---|---|---|---|
C/C++ | 全般 | 追加のインクルード ディレクトリ |
|
コード生成 | 使用するランタイム | マルチスレッド(DLL) | |
構造体メンバのアライメント | 8バイト | ||
言語 | wchar_tをビルドイン型として扱う | いいえ | |
詳細 | 呼び出しの規約 | _cdecl | |
リンク | 全般 | 追加のライブラリ ディレクトリ |
|
入力 | 追加の依存ファイル |
また、Oracleのバージョンに応じて以下を追加してください。
|
◆COBOLを利用する場合
オプション | 意味 |
---|---|
-I/opt/FJSVibs/copy | COBOL登録集が格納されたパスを指定します。コンパイルする場合に使用します。 |
-Tm | スレッドモードで実行するサーバアプリケーションを、コンパイルおよびリンクする場合に使用します。 |
-L${ORACLE_HOME}/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdrcobol | スレッドモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
-lapfwcdrcobol_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
注)${ORACLE_HOME}には、Oracleのホームディレクトリを指定します。
オプション | 意味 |
---|---|
-I/opt/FJSVibs/copy | COBOL登録集が格納されたパスを指定します。コンパイルする場合に使用します。 |
-Tm | スレッドモードで実行するサーバアプリケーションを、コンパイルおよびリンクする場合に使用します。 |
-L${ORACLE_HOME}/lib | ライブラリが格納されたパスを指定します。リンクする場合に使用します。 |
-lapfwcdrcobol | スレッドモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
-lapfwcdrcobol_nt | プロセスモードで実行するサーバアプリケーションを、リンクする場合に使用します。 |
注)${ORACLE_HOME}には、Oracleのホームディレクトリを指定します。
使用する統合開発環境に従って、以下の値を使用して、コンパイルおよびリンクを実行してください。
COBOL登録集ファイルの格納先フォルダ |
|
ライブラリの格納先フォルダ |
|
ライブラリ |
また、Oracleのバージョンに応じて以下を追加してください。
|
翻訳オプション |
|