ODBC RM スイッチ モジュールの汎用 1 フェーズ コミットのビルドに必要な情報について説明します。
制約事項: This topic applies only when the Enterprise Server feature is enabled.
- ソース コード
- ODBC RM スイッチ モジュールの汎用 1 フェーズ コミットの COBOL ソース ファイル ESODBCXA.CBL は、デフォルトでは、%ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\enterpriseserver\xa ディレクトリに配置されています。
注: ユーザー資格情報を xa_open 文字列ではなくプログラムで指定する場合は、COBOL ソース ファイルの
Customization section でその命令を指定します。
- 制限事項
- ODBC モジュールでは 1 フェーズ コミットしかサポートされないため、次の SQL 操作は、次のようなデプロイされたコンテナー管理サービスのソースではサポートされません。
- CONNECT
- DISCONNECT
- BEGIN TRANSACTION
- COMMIT
- ROLLBACK
- ビルド要件
- ODBC RM スイッチ モジュールをビルドするには、使用している Windows のバージョン用の Windows ソフトウェア開発キット (SDK) がインストールされている必要があります。
このスイッチ モジュールをビルドする前に、Windows SDK LIB ディレクトリのサブディレクトリにある odbc32.lib ファイルのパスが LIB 環境変数に含まれていることを確認してください。
いくつかの OpenESQL 指令はプロセスベースであり、通常はデータベース接続を行うプログラムのコード内で設定する必要があります。
サービスをコンテナー管理アプリケーションとしてディプロイされた Enterprise Server で実行する場合は、プログラム ソースのコンパイル時ではなく RM スイッチ モジュールのコンパイル時に、適切な指令を指定する必要があります。詳細については、「範囲 - OpenESQL SQL コンパイラ指令オプション」のトピックで、プロセス ベースの OpenESQL 指令の一覧を参照してください。
- スイッチ モジュールをビルドする
-
- 方法 1
-
- 管理者として、アプリケーションに応じて 32 ビットまたは 64 ビットの Visual COBOL コマンド プロンプトを起動します。
- %ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) に移動します。
- 次のように入力します。build odbc [directives]
- 方法 2
-
- アプリケーションに応じて 32 ビットまたは 64 ビットの Visual COBOL コマンド プロンプトを起動します。
- すべてのファイルを、%ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) から、WRITE パーミッションがある任意の場所にコピーします。
- コピーしたファイルが含まれているディレクトリに移動します。
- 次のように入力します。build odbc [directives]
- ビルド出力
- ビルド プロセスによって、ESODBCXA.CBL COBOL ソース ファイルから、バイナリ形式の次の 2 つの RM スイッチ モジュール ファイルが生成されます。
ファイル |
タイプ |
ESODBCXA.DLL |
静的 |
ESODBCXA_D.DLL |
動的 |
RM スイッチ モジュールは、使用するバイナリ ファイルに応じて、Enterprise Server に動的に登録することも、静的に登録することもできます。動的なスイッチ モジュールを使用すると、グローバル トランザクションで使用されているアクティブなデータベースのみが TM/RM の XA フローに参加するようになるため、この方法を使用することをお奨めします。
- ソース コード
- ODBC RM スイッチ モジュールの汎用 1 フェーズ コミットの COBOL ソース ファイル ESODBCXA.CBL は、デフォルトでは、$COBDIR/src/enterpriseserver/xa ディレクトリにあります。
注: ユーザー資格情報を xa_open 文字列ではなくプログラムで指定する場合は、COBOL ソース ファイルの
Customization section でその命令を指定します。
- ビルド要件
- ビルド スクリプトでは、現在の有効な作業モードを使用して、スイッチ モジュールのビルド方法が決定されます。ビルド スクリプトを呼び出す前に、データベース環境が正しく設定されていることを確認してください。詳細は、データベース ベンダーのマニュアルを参照してください。
- スイッチ モジュールをビルドする
- $COBDIR/src/enterpriseserver/xa ディレクトリには、スイッチ モジュールのビルドに使用できる build バッチ ファイルが含まれています。
- $COBDIR/src/enterpriseserver/xa ディレクトリ (デフォルトの場所) にあるすべてのファイルを、WRITE パーミッションがある任意の場所にコピーします。
- コピーしたファイルが含まれているディレクトリに移動します。
- 次のように入力します。build odbc
- ビルド出力
- ビルド プロセスによって、ESODBCXA.CBL COBOL ソース ファイルから、バイナリ形式の次の 4 つの RM スイッチ モジュール ファイルが生成されます。
ESODBCXA.so |
32 ビット |
静的 |
ESODBCXA64.so |
64 ビット |
静的 |
ESODBCXA_D.so |
32 ビット |
動的 |
ESODBCXA64_D.so |
64 ビット |
動的 |
RM スイッチ モジュールは、使用するバイナリ ファイルに応じて、Enterprise Server に動的に登録することも、静的に登録することもできます。動的なスイッチ モジュールを使用すると、グローバル トランザクションで使用されているアクティブなデータベースのみが TM/RM の XA フローに参加するようになるため、この方法を使用することをお奨めします。