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端口的例外。

  • 相关阅读:
    面试题中关于String的常见操作
    base64 加密 解密 Java代码实现 【尝试 博客园 用Markdown 编写】
    md5 32位 加密原理 Java实现md5加密
    base64 加密原理 解密原理
    2018年 10月份开始执行的最新税率表 2019年1月 小孩住房贷款等怎么扣
    安装Zookeeper和kafka,安装完毕后,遇到的错误
    Jmeter自动化测试 数据驱动测试,将数据存入csv文件中来调用,或将数据存在DB中进行调用
    Jmeter 同一个测试计划下的多个线程组 执行顺序 希望调整为顺序执行
    Json多层嵌套,要怎么提取?
    总结下我遇到过的接口测试
  • 原文地址:https://www.cnblogs.com/SALIN/p/1376683.html
Copyright © 2011-2022 走看看