7

アプリケーションで次の例外を一度受け取りました。

サーバーから、サーバーの分散トランザクション コーディネーターのアドレスを取得できません。サーバーで DTC が有効になっていますか?

ここで、例外をキャッチして処理する必要がありますが、例外を再現できません。例外を再現する方法、または例外の種類/エラー コードを提供する方法について、だれかが私に情報を提供してくれませんか。

例外ログを取得していないため、例外の種類/エラー コードを取得できませんでした。

編集

次のシナリオを試しましたが、

  1. シナリオ - DTC サービスが停止している場合 エラー メッセージ

    「サーバー 'MyServ\SQL2005' の MSDTC は利用できません。」-

  2. シナリオ - DATABASE SERVER エラー メッセージで DTC のネットワーク アクセスが無効になっている場合

    「パートナー トランザクション マネージャーは、リモート/ネットワーク トランザクションのサポートを無効にしました。」

  3. シナリオ - アプリケーション サーバーで DTC のネットワーク アクセスが無効になっている場合 エラー メッセージ

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

  4. また、アプリサーバー/ウェブサーバーでnetbiosを停止してみましたが、次のエラーが発生しました。

    通信の問題により、MSDTC トランザクション マネージャーはソース トランザクション マネージャーからトランザクションを取得できませんでした。考えられる原因は次のとおりです。ファイアウォールが存在し、MSDTC プロセスの例外がない、2 台のマシンが NetBIOS 名で互いを検出できない、またはネットワーク トランザクションのサポートが 2 つのトランザクション マネージャーのいずれかで有効になっていない。

また、SQL サーバーと MSDTC サービスを Stoppin してみました。次に、MSDTC を開始する前に SQL サーバーを開始しました。しかし、必要なエラー メッセージを再現できませんでした。

4

1 に答える 1

2

これは、トランザクションの処理中にサーバーの IP アドレスが更新された場合に発生する可能性があります。

SQL サービスの後に DTC サービスが開始された場合にも発生する可能性がありますが、それを試したので、そうではないと想定しています。

ソース: http://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/c13d076d-e20c-421c-821f-a26bbae97a6a/

于 2013-04-16T10:43:51.073 に答える