EDB PostgreSQL RM スイッチ モジュール

EDB PostgreSQL RM スイッチ モジュールのビルドに必要な情報について説明します。
注: これはテクノロジ プレビュー機能としてのみ提供されます。この新機能について、テストおよびフィードバックができるようになる予定です。ただし、この機能はプロダクション使用を目的としたものではなく、プロダクション使用はサポートされていません。また、この機能は GA レベルでの提供が保証されるものではないため、実際提供されるバージョンは、このテクノロジ プレビュー版と大きく異なる可能性があります。

EDB PostgreSQL モジュールは、PostgreSQL の SQL 呼び出しを利用して 2 フェーズ コミット サポートを提供し、このスイッチ モジュールを使用して行われたすべてのデータベース接続が必ず単一の XA トランザクションに参加するようにします。

PostgreSQL サーバーの XA 用の構成

重要: EDB PostgreSQL RM スイッチ モジュールを使用する前に、max_prepared_transactions プロパティの値をデフォルト値の 0 (ゼロ) から 0 よりも大きい値に変更して、PostgreSQL サーバーを構成する必要があります。この変更を行った後、次に進む前にサーバーを再起動する必要があります。max_prepared_transactions 構成プロパティの詳細については、PostgreSQL のドキュメントを参照してください。
ソース コード
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
  1. 管理者として、アプリケーションに応じて 32 ビットまたは 64 ビットの Enterprise Developer command promptを起動します。
  2. %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) に移動します。
  3. 次のように入力します。 build pg [directives]
方法 2
  1. アプリケーションに応じて 32 ビットまたは 64 ビットの Enterprise Developer command promptを起動します。
  2. %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\src\enterpriseserver\xa ディレクトリ (デフォルトの場所) にあるすべてのファイルを、WRITE 権限がある任意の場所にコピーします。
  3. コピーしたファイルが含まれているディレクトリに移動します。
  4. 次のように入力します。 build pg [directives]
ビルド出力
ビルド プロセスによって、ESPGSQLXA.CBL COBOL ソース ファイルから、バイナリ形式の次の 2 つのスイッチ モジュール ファイルが生成されます。
バイナリ ファイル タイプ
ESPGSQLXA_S.DLL 静的
ESPGSQLXA.DLL 動的

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

追加リソース
EDB PostgreSQL RM スイッチ モジュールの使い方の詳細については、「EDB PostgreSQL xa_open 文字列」を参照してください。