SQL Server RM スイッチ モジュール

SQL Server RM スイッチ モジュールのビルドに必要な情報について説明します。
制約事項: 本トピックは、Enterprise Server 機能が有効な場合にのみ該当します。
制約事項: 本トピックは Windows 環境にのみ該当します。

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

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

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

いくつかの OpenESQL 指令はプロセス ベースであり、通常はデータベース接続を行うプログラムのコード内で設定する必要があります。

サービスをコンテナー管理アプリケーションとしてディプロイされた Enterprise Server で実行する場合は、プログラム ソースのコンパイル時ではなく RM スイッチ モジュールのコンパイル時に、適切な指令を指定する必要があります。詳細については、「範囲 - OpenESQL SQL コンパイラ指令オプション」のトピックで、プロセス ベースの OpenESQL 指令の一覧を参照してください。

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

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

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