这是我的Sql
update OPENQUERY(RServer,'SELECT * FROM pdsum')  set count = count  + s.count 
from  #ddd s
where   
s.so1= so  
and  s.p1=p
and  seq = s.seq 
and s.l =l 
and s.m1 = m
and s.sl1 = sl如果添加条件:
update OPENQUERY(RServer,'SELECT * FROM pdsum where 1=2')  set count = count  + s.count 
from  #ddd s
where   
s.so1= so  
and  s.p1=p
and  seq = s.seq 
and s.l =l 
and s.m1 = m
and s.sl1 = sl则能执行成功,只是(0 row(s) affected)

解决方案 »

  1.   

    三.MSDTC设置是否正确.
    1.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
    2.转至"组件服务管理工具"。
    3.浏览至"启动管理工具"。
    4.选择"组件服务"。
     a.展开"组件服务"树,然后展开"我的电脑"。
     b.右键单击"我的电脑",然后选择"属性"。
     C.在 MSDTC 选项卡中,确保选中了下列选项: 网络 DTC 访问
    网络管理
    网络事务
        XA 事务
     e.另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
    5.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
      所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
    6.单击"确定"关闭"我的电脑"属性窗口。
      

  2.   

    to vivianfdlpw:
     这个是XP的设置,2000没有C,E的选择。
     另外Informix是装在Unix上的。
     MSDTC是需要两个Server都打开么?察看了一下,2000是打开的,远端的那个没有权限。