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

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

EDB PostgreSQL モジュールは、Microsoft Distributed Transaction Server (MS DTC) を利用して 2 フェーズ コミット サポートを提供し、このスイッチ モジュールを使用して行われたすべてのデータベース接続が必ず単一の XA トランザクションに参加するようにします。MSDTC は、クライアント マシンと、EDB PostgreSQL がホストされているマシンの両方で実行されている必要があります。

ソース コード
EDB PostgreSQL RM スイッチ モジュールの COBOL ソース ファイルである ESPGSQLXA.CBL は、デフォルトでは、%ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2012\src\enterpriseserver\xa ディレクトリに配置されています。
注: ユーザー資格情報を xa_open 文字列ではなくプログラムで指定する場合は、COBOL ソース ファイルの Customization section でその命令を指定します。
ビルド要件
EDB PostgreSQL RM スイッチ モジュールをビルドするには、使用している Windows のバージョン用の Windows ソフトウェア開発キット (SDK) がインストールされている必要があります。

このスイッチ モジュールをビルドする前に、Windows SDK LIB ディレクトリのサブディレクトリにある odbc32.lib ファイルのパスが LIB 環境変数に含まれていることを確認してください。

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

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

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