com+操作2个网段上的数据库为什么不好使?报错:“在分布式事务中登记时出错”,高手帮忙
public bool get()
{
   try
   {
        操作10.10.66.20
        操作10.4.1.253       
       ContextUtil.SetComplete();
       return true;   
   }
    catch()
   {
       ContextUtil.SetAbort();
       return false;
   }
}
报错:“在分布式事务中登记时出错”,2个一个网段上的就好使。
 操作10.10.66.20
 操作10.10.66.21高手帮忙

解决方案 »

  1.   

    1. 必须启动MSDTC服务。(sqlserver的服务)
       2. 所涉及的Server之间如果存在网关、防火墙,需要开启TCP 135端口。    分布式事务需要使用这个端口通讯。
        3. 如果Server之间跨网段,则Server之间需要能互相PING到机器名(而不是IP地址)。
        如果相互PING机器名有问题,修改system32/driver/etc目录下的hosts文件
    4 察看dcomcnfg中察看msdtc的安全配置选项,保证双方都可以交互
      

  2.   

    ju_feng(NorthSky)真是专业级回答