日期:2014-05-16  浏览次数:20484 次

触发器同步数据时无法访问远程数据库
如题,本地数据库db_a中有表tbl_a,远程有完全同样的数据库,想要在本地表tbl_a发生变化(插入、删除、更新)时把数据及时同步到远程数据库。在触发器里,用如下的方式实现同步,
insert into opendatasource('sqloledb','server=192.168.3.250\t250;uid=aa;pwd=aabb;database=Automgr').Automgr.dbo.tbl_zhwl_user_mirror 

每当表tbl_a被插入数据时都提示“链接服务器"(null)"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "该事务管理器已经禁止了它对远程/网络事务的支持。"。
消息 7391,级别 16,状态 2,过程 sp_syscAutoMgr,第 3 行
无法执行该操作,因为链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务
。”

但是,直接在查询分析器里执行上述语句是可以的,写在存储过程里也可以,但是用触发器来调用存储过程也不行。

请教下高手,这个到底怎么回事,有没有办法解决,或者说如何用触发器来实现数据同步,多谢
------解决方案--------------------
用链接服务器吧.更好用.