方法一:insert OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=60.255.36.158;UID=sa;PWD=huashiadmin', sms.dbo.default_sm_out)
select top 1 * from default_sm_out方法二:(已经先注册了远程服务器)
insert into sms.sms.dbo.sm_in(serv_no, serv_prov, send_date, sender, content, status, link_id) 
values(1, 1, 1, 1, 1, 1, 1)
在网上看了很多内容,都提到在查询分析器里的,我也成功做到了,但是
大家注意了:
正确配置了(上面2中方法在查询分析器里执行都可以成功插入到远程数据库里)
问题的关键是我在查询分析器里可以成功,为什么放到触发器里就出错了呢???想知道为什么。按理说在查询分析器里成功就没有配置,服务没开的这些原因了吧
注:2边的MSDTC也都开了。错误是:方法一中:因为 OLE DB 提供程序 'MSDASQL' 无法启动分布式事务。方法二中错误:该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。大大的问题在:查询分析器里面怎么就都能启动呢???
望邹建等知道的朋友帮忙,在线等

解决方案 »

  1.   

    启动远程服务器和本机的MSDTC服务  
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    大哥,我写的
    注:2边的MSDTC也都开了。
    你没看到呀??