オラクルを分散トランザクションに参加させる方法

TransactionScopeを使用してコードを囲み、Oracle 9.2に対してデータベースを更新しようとしたところ、下記のようなエラーメッセージに遭遇した。
System.Runtime.InteropServices.COMException:
指定されたトランザクション コーディネータに、新規トランザクションを参加できませんでした。
調べてみると、Oracleに以下の説明があった。
Oracle Services for MTSは、Microsoft Distributed Transaction Coordinator(DTC)を介した
分散トランザクションのリソース・マネージャとして、Oracleデータベースを活用します。
これらのサービスにより、MTSへのクライアント・サイドの接続プーリングが提供され、
Oracleデータベースを必要とするCOMおよび.NETコンポーネント間でトランザクションを
調整できるようになります。 MTSは、COM+および.NET Enterprise Servicesとも呼ばれ、
DTCのスーパーセットです。
つまるところ、Oracle9.2データベースを分散トランザクションに参加させるには、オラクル専用のDTCが必要だということがわかった。
専用のDTCはOTNからダウンロードできる。拙者はOracle9i Release 2 ODAC 9.2.0.7.0 をダウンロードしインストールすることで、MSDTCを利用したトランザクション処理を確認することができた。

トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/414

関連情報

Copyright(C) 2007 アーキテクト360 Allrights reserved.