EDB PostgreSQL RM スイッチ モジュールのビルドに必要な情報について説明します。
注: これはテクノロジ プレビュー機能としてのみ提供されます。この新機能について、テストおよびフィードバックができるようになる予定です。ただし、この機能はプロダクション使用を目的としたものではなく、プロダクション使用はサポートされていません。また、この機能は GA レベルでの提供が保証されるものではないため、実際提供されるバージョンはテクノロジ プレビュー版と大きく異なる可能性があります。
EDB PostgreSQL モジュールは、PostgreSQL の SQL 呼び出しを利用して 2 フェーズ コミット サポートを提供し、このスイッチ モジュールを使用して行われたすべてのデータベース接続が必ず単一の XA トランザクションに参加するようにします。
- ソース コード
- EDB PostgreSQL RM スイッチ モジュールの COBOL ソース ファイルである ESPGSQLXA.CBL は、デフォルトでは、%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\xa ディレクトリに配置されています。
注: ユーザー資格情報を xa_open 文字列ではなくプログラムで指定する場合は、COBOL ソース ファイルの
Customization section に手順が記載されています。
- ビルド要件
- EDB PostgreSQL RM スイッチ モジュールをビルドするには、使用している Windows のバージョン用の Windows ソフトウェア開発キット (SDK) がインストールされている必要があります。
このスイッチ モジュールをビルドする前に、Windows SDK LIB ディレクトリのサブディレクトリにある odbc32.lib ファイルのパスが LIB 環境変数に含まれていることを確認してください。
- スイッチ モジュールをビルドする
-
- 方法 1
-
- 管理者として、アプリケーションに応じて 32 ビットまたは 64 ビットの Enterprise Developer コマンド プロンプトを起動します。
- %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) に移動します。
- 次のように入力します。build pg [directives]
- 方法 2
-
- アプリケーションに応じて 32 ビットまたは 64 ビットの Enterprise Developer コマンド プロンプトを起動します。
- %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) にあるすべてのファイルを、WRITE 権限がある任意の場所にコピーします。
- コピーしたファイルが含まれているディレクトリに移動します。
- 次のように入力します。build pg [directives]
- ビルド出力
- ビルド プロセスによって、ESPGSQL.CBL COBOL ソース ファイルから、バイナリ形式の次の 2 つのスイッチ モジュール ファイルが生成されます。
バイナリ ファイル |
タイプ |
ESPGSQLXA_S.DLL |
静的 |
ESPGSQLXA.DLL |
動的 |
RM スイッチ モジュールは、使用するバイナリ ファイルに応じて、Enterprise Server に動的に登録することも、静的に登録することもできます。動的なスイッチ モジュールを使用すると、グローバル トランザクションで使用されているアクティブなデータベースのみが TM/RM の XA フローに参加するようになるため、この方法を使用することが推奨されています。
- ソース コード
- EDB PostgreSQL RM スイッチ モジュールの COBOL ソース ファイルである ESPGSQL.CBL は、デフォルトでは、$COBDIR/src/enterpriseserver/xa ディレクトリに配置されています。
注: ユーザー資格情報を xa_open 文字列ではなくプログラムで指定する場合は、COBOL ソース ファイルの
Customization section に手順が記載されています。
- ビルド要件
- ビルド スクリプトでは、現在の有効な作業モードを使用して、スイッチ モジュールのビルド方法が決定されます。
- スイッチ モジュールをビルドする
- $COBDIR/src/enterpriseserver/xa ディレクトリには、スイッチ モジュールのビルドに使用できる build スクリプト ファイルが含まれています。
- $COBDIR/src/enterpriseserver/xa ディレクトリ (デフォルトの場所) にあるすべてのファイルを、WRITE 権限がある任意の場所にコピーします。
- コピーしたファイルが含まれているディレクトリに移動します。
- 次のように入力します。build pg
- ビルド出力
- ビルド プロセスによって、ESPGSQLXA.CBL COBOL ソース ファイルから、バイナリ形式の次の 4 つの RM スイッチ モジュール ファイルが生成されます。
ESPGSQLXA.so |
32 ビット |
動的 |
ESPGSQLXA64.so |
64 ビット |
動的 |
ESPGSQLXA_S.so |
32 ビット |
静的 |
ESPGSQLXA64_S.so |
64 ビット |
静的 |
RM スイッチ モジュールは、使用するバイナリ ファイルに応じて、Enterprise Server に動的に登録することも、静的に登録することもできます。動的なスイッチ モジュールを使用すると、グローバル トランザクションで使用されているアクティブなデータベースのみが TM/RM の XA フローに参加するようになるため、この方法を使用することが推奨されています。
- 追加リソース
- EDB PostgreSQL RM スイッチ モジュールの使い方の詳細については、「EDB PostgreSQL xa_open 文字列」を参照してください。