急求:跨数据库表更新问题
两个数据库 test1和test2,分别有表t.
现想用触发器控制,当更新或插入数据到 数据库test1中的t表时,数据库test2中
t表相应项对应的更新或插入;
create trigger SetTest2T
on test1.dbo.t
for update,insert
as
update test2.dbo.t /*更新数据库test2中的t表*/
set test2.dbo.t.Tdata=0
from
OPENROWSET('SQLOLEDB','192.168.100.244';'sa';'hongfu',
'select * from test2.dbo.t')
但当对test1的t表更新或插入时就报以下错误;
服务器: 消息 7391,级别 16,状态 1,过程 SetTest2T,行 5
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。
请各位高人帮小弟看看是什么原因~~感激不尽啦!