DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TransactionScopeをOracleで使用する方法

環境/言語:[WinXP、VB.NET、.NET3.5]
分類:[.NET]

TransactionScopeをOracleで使用する方法について質問させてください。

System.Transactions.TransactionScopeをOracleで使用する際に、
OraMTS.dll(Oracle Clientをカスタムモードでインストール)が必要とうことなので、
同DLLをインストールし、アプリケーションを実行すると、
TransactionScopeブロック内でコネクションをOpenした時に実行時エラーとなりました。
(※「oramts.dllが見つかりません」という内容のエラー)

そこで、いろいろと調べた結果、"MSVCRTD.DLL"がSystem32配下に必要ということがわかり、
"MSVCRTD.DLL"を格納してアプリケーションを実行したところ、正常動作しました。

しかし、アプリケーション配布の際にこのDLLも配布する必要があるという制約がつくと不都合があると感じております。

TransactionScopeをOracleで使用する際、"MSVCRTD.DLL"は必須なのでしょうか?
何らかの設定で"MSVCRTD.DLL"を介さずに"oramts.dll"を読み込む方法はないのでしょうか?

上記について、情報をお持ちの方が居られましたら、ご教示お願いします。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=38444

こちらでレスついてますが・・・

以上。
このご質問はマルチポストということですね。この掲示板では原則マルチポストを禁止しています。詳しくは、「書き込みのルールについて」をご覧ください。

http://dobon.net/vb/bbs/index.html
Oracle-MSDTCの件、下記設定下で正常動作を確認しました。
トランザクションの制御も正常に行えることを確認しています。

@Oracle Services For Microsoft Transaction Server(OraMts)の導入
アプリケーションの動作環境にOraMtsをインストールする
※OraMTS 9.2.0.1.0以前のバージョンにはパッチ2428356の適用が必要となる

AMSDTCの自動起動をコマンドラインで設定
(自動起動に設定しないとアプリケーションでMSDTC機能初回利用時に実行時エラーになる場合がある)
下記コマンドを実行する
sc config MSDTC start= auto
■No25134に返信(STさんの記事)
> Oracle-MSDTCの件、下記設定下で正常動作を確認しました。
> トランザクションの制御も正常に行えることを確認しています。
>
> @Oracle Services For Microsoft Transaction Server(OraMts)の導入
> アプリケーションの動作環境にOraMtsをインストールする
> ※OraMTS 9.2.0.1.0以前のバージョンにはパッチ2428356の適用が必要となる
>
> AMSDTCの自動起動をコマンドラインで設定
> (自動起動に設定しないとアプリケーションでMSDTC機能初回利用時に実行時エラーになる場合がある)
> 下記コマンドを実行する
> sc config MSDTC start= auto
>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板