1. ホーム
  2. asp.net

[解決済み] トランザクションマネージャがリモート/ネットワークトランザクションのサポートを無効にしている

2023-01-19 16:40:07

質問

SQL ServerとASP.NETを使用しています。次のような関数があります。

Using js = daoFactory.CreateJoinScope()
    Using tran = New Transactions.TransactionScope()
        '...
        tran.Complete()
    End Using
End Using

しかし、以下のような例外が発生します。

トランザクションマネージャは、リモート/ネットワークトランザクションのサポートを無効にしています。

の説明 JoinScope :

Public Class JoinScope
    Implements IJoinScope
    Implements IDisposable
    '...
End Class

同じ環境の別のアプリケーションではこの方法で問題なく動作していたのですが、ここではこの問題が発生しています。この問題を解決するためにはどうしたらよいでしょうか。

どのように解決すればよいのでしょうか?

分散トランザクション コーディネータ サービスがデータベースとクライアントの両方で実行されていることを確認します。 がデータベースとクライアントの両方で実行されていることを確認します。 また、"Network DTC Access"、"Allow Remote Client"をチェックしていることを確認します。 また、"Allow Inbound/Outbound" および "Enable TIP" の各項目を確認してください。

MS DTC トランザクションでネットワーク DTC アクセスを有効にするには

  1. Component Servicesスナップインを開きます。

    Component Services を開くには、[スタート] をクリックします。検索ボックスに「dcomcnfg」と入力し、ENTERキーを押します。

  2. コンソール ツリーを展開して、ネットワーク MS DTC アクセスを有効にする DTC (たとえば、ローカル DTC) を見つけます。

  3. アクション] メニューで、[プロパティ] をクリックします。

  4. セキュリティ]タブをクリックし、以下の変更を行います。 セキュリティ設定] で、[ネットワーク DTC アクセス] チェック ボックスを選択します。

    Transaction Manager Communication]で、[Allow Inbound]および[Allow Outbound]チェックボックスを選択します。