zoukankan      html  css  js  c++  java
  • 该事务管理器已经禁止了它对远程/网络事务的支持

    在一个项目中,IIS服务器与SQL Server数据服务器在不同机器上,使用system.transaction出现异常
    错误信息是:该伙伴事务管理器已经禁止了它对远程/网络事务的支持
    从网上找了不少资料,最后是这么解决的(各人情况不一样,只提供本人的当时环境配置和解决方法,供大家参考)
    机器软件配置:
    数据库:windows xp+sql server2000(临时找来的,呵呵,所以用xp)
    IIS服务器:windows 2003

     在两台机器上做如下操作:
        * 在命令行下运行 msdtc -uninstall,删除 msdtc(Distributed Transaction Coordinator)服务。(计算机没什么反应,执行一下就过去了)
        * 在“本地连接”的属性中删除了 NetBIOS 协议(如果没有就算了,只要确认没有使用该协议即可)
        * 重新启动机器后,在命令行下运行 msdtc -install,安装 msdtc 服务。 (计算机没什么反应,执行一下就过去了)

    然后在数据库服务器上:
        * 在“组件服务”mmc中,依次打开“组件服务”、“计算机”,在“我的电脑”上点右键选择“属性”。然后选择“msdtc”选项卡中的“安全配置”,勾选: "允许网络访问","允许远程客户端","允许入站","允许出站","不要求进行身份验证",确认选中“网络 DTC 访问”,并选择“不要求进行验证”。
    参考:
    http://losingmyself.cn.cnblogs.com/archive/2005/05/19/158904.html
    http://www.cnblogs.com/crabo/archive/2007/05/17/750118.html

    个人总结:

    1、当网站程序与数据库在同一个服务器上时,只要在服务里面开启MSDTC的服务,具体操作为:"我的电话"右击选择"服务",在列表是找到[Distributed Transaction Coordinator]服务,设为启动。

    2、当网站程序与数据库不在同一个服务器时,除了两台机子都要开启MSDTC服务外,还要做以下操作:

    1)      单击“开始”,指向“控制面板”,然后单击“添加或删除程序”;

    2)      单击“添加/删除 Windows 组件”;

    3)      选择“应用程序服务器”,然后单击“详细信息”;

    4)      选择“启用网络 DTC 访问”, 网络管理 、网络事务、XA 事务。另外,DTC 登录帐户一定要设置为“NT Authority\NetworkService”,并且事务管理器通讯不要求进行验证。然后单击“确定”;

    5)      单击“下一步”;

    6)      单击“完成”;

    7)      停止分布式事务处理协调器服务,然后重新予以启动;

    8)      停止 Microsoft SQL Server 和其他参与分布式事务处理的资源管理器服务(如 Microsoft 消息队列),然后将其重新启动;

    9)      MSDTC依赖于RPC,RPC使用的端口是135,给防火墙添加135端口的例外。

  • 相关阅读:
    第三次冲刺--软件工程
    【操作系统】实验四 主存空间的分配和回收
    《构造之法》8、9、10
    实验三 进程调度模拟程序--操作系统
    构建之法读后感
    操作系统作业调度-操作系统
    结对评论—软件工程
    复利计算6.0—软件工程(web版本)
    学习进度条
    第三次冲刺总结
  • 原文地址:https://www.cnblogs.com/SALIN/p/1376683.html
Copyright © 2011-2022 走看看