@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

COM+トランザクションとWindowsXPSP2

1
投稿者投稿内容
うみ
会議室デビュー日: 2002/12/03
投稿数: 6
お住まい・勤務地: いなか
投稿日時: 2005-01-07 11:43
お世話になります。

WindowsXPでCOM+トランザクションを実装したシステムを作成したのですがServicePack2を適用するとトランザクションの部分でエラーが発生するようになりました。

デバッグでエラーを確認するとConnectionをOpenするときにエラーが発生するようです。
このような現象を回避された方がいらっしゃれば回避方法をお教え頂けないでしょうか。

[環境]
WindowsXP SP2
SQLServer2000 SP3
.NET Framework 1.1 SP1

[エラー内容]
{System.InvalidOperationException}
[System.InvalidOperationException]: {System.InvalidOperationException}
HelpLink: Nothing
InnerException: Nothing
Message: "分散されたトランザクションに参加中にエラーが発生しました。"
Source: "mscorlib"
StackTrace: "
Server stack trace:
at System.Data.SqlClient.SqlInternalConnection.EnlistNonNullDistributedTransaction(ITransaction transaction)
at System.Data.SqlClient.SqlInternalConnection.EnlistDistributedTransaction(ITransaction newTransaction, Guid newTransactionGuid)
at System.Data.SqlClient.SqlInternalConnection.EnlistDistributedTransaction()
at System.Data.SqlClient.SqlInternalConnection.Activate(Boolean isInTransaction)
at System.Data.SqlClient.SqlConnection.Open()

[ メッセージ編集済み 編集者: うみ 編集日時 2005-01-07 13:43 ]
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2005-01-07 13:11
これでしょうか。ファイアウォールを無効にすれば良いのかな?
http://support.microsoft.com/default.aspx?scid=kb;ja;838207
うみ
会議室デビュー日: 2002/12/03
投稿数: 6
お住まい・勤務地: いなか
投稿日時: 2005-01-07 13:30
まるく様

ご回答ありがとうございます。

私もまずファイアウォールを疑ったのですが、MSDTCで利用するポートを開放し、ログを解析したところブロックされた形跡がありませんでした。
念のためファイアウォールを無効にしても結果は同じエラーが返されました。
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2005-01-07 14:10
当方で試しているわけではないのですみませんが、

dcomcnfgを起動し、マイコンピュータのプロパティから
[COMセキュリティ]タブの[制限の編集]で、必要な権限追加

あたりはどうでしょうか。

#いい加減自分もXPSP2の開発環境を用意しなくちゃと思いつつ。。。
うみ
会議室デビュー日: 2002/12/03
投稿数: 6
お住まい・勤務地: いなか
投稿日時: 2005-01-07 14:37
まるく様

度々ありがとうございます。

引用:

まるくさんの書き込み (2005-01-07 14:10) より:

dcomcnfgを起動し、マイコンピュータのプロパティから
[COMセキュリティ]タブの[制限の編集]で、必要な権限追加




確認したところEveryoneにすべて許可されているのでCOMセキュリティに関しては問題ないかと思うのですが...。

#最近のマシンにSP2はプレインストールされているため調査を始めた次第です。
うみ
会議室デビュー日: 2002/12/03
投稿数: 6
お住まい・勤務地: いなか
投稿日時: 2005-02-23 20:49
自己解決しました。

現象としては「Microsoft Windows XP Service Pack 2 のインストール後、リンク サーバーに対して分散トランザクションを実行すると SQL Server 2000 でエラー メッセージ 7391 が表示される」でMSのサイトに公開されていました。
http://support.microsoft.com/default.aspx?scid=kb;ja;839279

検証する環境がVMWareでテストしていたのですが上記サイトの対応を行っても現象が再現していました。

先日、通常のPCにWindwsXPSP2が適用された環境で設定すると問題なく動作することを確認できました。
なぜ、VMWare内のOSではうまくいかなかったのか原因はわかりませんがとりあえず解決できました。
お騒がせして申し訳ありませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)