7

我曾经在我的应用程序中遇到以下异常,

无法从服务器获取服务器的分布式事务协调器的地址。服务器上是否启用了 DTC?

现在我需要捕获并处理异常,但无法重现异常。任何人都可以向我提供有关如何重现异常或提供异常类型/错误代码的输入。

由于我没有获得异常日志,因此无法获得异常类型/错误代码。

编辑

我尝试了以下场景,

  1. 场景 - 当 DTC 服务停止时 错误消息

    “服务器 'MyServ\SQL2005' 上的 MSDTC 不可用。” -

  2. 场景 - 当 DATABASE SERVER 错误消息中的 DTC 禁用网络访问时

    “合作伙伴事务管理器已禁用对远程/网络事务的支持。”

  3. 场景 - 当应用程序服务器错误消息中的 DTC 禁用网络访问时

    “事务管理器已禁用对远程/网络事务的支持。”

  4. 还尝试通过停止应用服务器/网络服务器中的 netbios,然后我收到以下错误,

    由于通信问题,MSDTC 事务管理器无法从源事务管理器中提取事务。可能的原因是:存在防火墙并且它对 MSDTC 进程没有异常,两台机器无法通过它们的 NetBIOS 名称找到彼此,或者两个事务管理器之一未启用对网络事务的支持。

Stoppin 也尝试了 SQL 服务器和 MSDTC 服务。然后在启动 MSDTC 之前启动 SQL 服务器。但无法重现我需要的错误消息。

4

1 回答 1

2

如果服务器的 IP 地址在交易处理过程中被更新,就会发生这种情况。

如果 DTC 服务在 SQL 服务之后启动,但您已经尝试过,也可能会发生这种情况,所以我假设情况并非如此。

资料来源:http ://social.msdn.microsoft.com/Forums/en-US/windowstransactionsprogramming/thread/c13d076d-e20c-421c-821f-a26bbae97a6a/

于 2013-04-16T10:43:51.073 回答