可是当我调用TestDTC()方法测试DTC时,执行到方法DrawMoneyFromA中的cn.Open方法时却抛出异常“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”,始终没有调试过去,没发现原因
后来,我在组件配置中右击“我的电脑”,选择属性时发现选项卡MSDTC中有一个默认协调器的选项,结果我想是不是应该指定一台电脑作为协调器,于是我就输入了另一台测试机的名字ekeen并确定。结果恶梦就产生了
无奈之下就去看了一下事件查看器,发现有一个COM+错误,结果根据信息搜索到了一篇KB文章http://support.microsoft.com/?kbid=867520 ,里面提到了解决方法:
1、删除注册表中的键:
| • | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC |
| • | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC |
| • | HKEY_CLASSES_ROOT\CID |
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
5、重新启动电脑
问题解决了,可以配置MSDTC了,可是“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”的问题还是没解决,不知道谁能帮我一下,谢谢了。
我的操作系统是Windows 2003,数据库是SQL Server 2003 + Sp3