3

私のコードでは、Entity Framework で TransactionScope を使用してトランザクションを使用しようとしています。このトランザクションでは、別のサーバーとデータベースへの通常の SQL 接続を開いています。conn.Open() が呼び出されると、エラーが発生します。

「分散トランザクション マネージャー (MSDTC) のネットワーク アクセスが無効になっています。Componet Services 管理ツールを使用して、MSDTC のセキュリティ構成でネットワーク アクセスの DTC を有効にしてください。」

ただし、MSDTC が有効になっており、サーバー上で実行されています。

4

3 に答える 3

3

1) 念のためですが、DTC が実行されていることを本当に確認しましたか。コンポーネント サービス画面から [マイ コンピュータ] を右クリックします。上部のメニュー項目に「Stop DTC」と表示されている必要があります。

2) MSDTC の構成が両端 (データベースへの接続を開始するアプリケーション サーバーとデータベース サーバー) で同じであることを確認しましたか? [MSTDC] タブの [セキュリティ構成] に特に注意してください

幸運を

于 2010-06-15T22:08:25.377 に答える
1

Web サーバーと SQL Server の両方で MS DTC を有効にし、両方のマシンでリモート トランザクションを有効にする必要があります。Windows 2003Windows 2008のウォーク スルーをブログにアップしています。

于 2010-06-15T22:07:41.167 に答える
0

ファイアウォールも確認してください。私はかつて、前夜に実行されたWindows Update操作がWindowsファイアウォールのデフォルト値を復元したことを発見したため、オフィスで1日を失いました。

于 2010-06-16T23:42:02.253 に答える