ODBC RM スイッチ モジュールの汎用 1 フェーズ コミット

ODBC RM スイッチ モジュールの汎用 1 フェーズ コミットのビルドに必要な情報について説明します。
制約事項: This topic applies only when the Enterprise Server feature is enabled.

Windows 環境

ソース コード
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
  1. 管理者として、アプリケーションに応じて 32 ビットまたは 64 ビットの Visual COBOL コマンド プロンプトを起動します。
  2. %ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) に移動します。
  3. 次のように入力します。build odbc [directives]
方法 2
  1. アプリケーションに応じて 32 ビットまたは 64 ビットの Visual COBOL コマンド プロンプトを起動します。
  2. すべてのファイルを、%ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) から、WRITE パーミッションがある任意の場所にコピーします。
  3. コピーしたファイルが含まれているディレクトリに移動します。
  4. 次のように入力します。build odbc [directives]
ビルド出力
ビルド プロセスによって、ESODBCXA.CBL COBOL ソース ファイルから、バイナリ形式の次の 2 つの RM スイッチ モジュール ファイルが生成されます。
ファイル タイプ
ESODBCXA.DLL 静的
ESODBCXA_D.DLL 動的

RM スイッチ モジュールは、使用するバイナリ ファイルに応じて、Enterprise Server に動的に登録することも、静的に登録することもできます。動的なスイッチ モジュールを使用すると、グローバル トランザクションで使用されているアクティブなデータベースのみが TM/RM の XA フローに参加するようになるため、この方法を使用することをお奨めします。

UNIX 環境

ソース コード
ODBC RM スイッチ モジュールの汎用 1 フェーズ コミットの COBOL ソース ファイル ESODBCXA.CBL は、デフォルトでは、$COBDIR/src/enterpriseserver/xa ディレクトリにあります。
注: ユーザー資格情報を xa_open 文字列ではなくプログラムで指定する場合は、COBOL ソース ファイルの Customization section でその命令を指定します。
ビルド要件
ビルド スクリプトでは、現在の有効な作業モードを使用して、スイッチ モジュールのビルド方法が決定されます。ビルド スクリプトを呼び出す前に、データベース環境が正しく設定されていることを確認してください。詳細は、データベース ベンダーのマニュアルを参照してください。
スイッチ モジュールをビルドする
$COBDIR/src/enterpriseserver/xa ディレクトリには、スイッチ モジュールのビルドに使用できる build バッチ ファイルが含まれています。
  1. $COBDIR/src/enterpriseserver/xa ディレクトリ (デフォルトの場所) にあるすべてのファイルを、WRITE パーミッションがある任意の場所にコピーします。
  2. コピーしたファイルが含まれているディレクトリに移動します。
  3. 次のように入力します。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 フローに参加するようになるため、この方法を使用することをお奨めします。