错误细细:
服务器: 消息 7391,级别 16,状态 1,过程 insertInfo,行 6
该操作未能执行,因为 OLE DB 提供程序 'OraOLEDB.Oracle' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。
我在SqlServer2000中建立链接服务器访问Oracle10g,当单独执行语句“ insert into OpenQuery(ORCLDB, 'select id,username,sex,age from gisuser.test ') values('5','22','33','33')”的时候,可以同步Oracle,但是把语句放到触发器中就出现上述错误。
触发器代码:
CREATE TRIGGER insertInfo ON [dbo].[testUser]
FOR INSERT
AS
EXECUTE master..XP_cmdshell 'net start msdtc '
EXECUTE master..XP_cmdshell 'net start SQLSERVERAGENT '
insert into OpenQuery(ORCLDB, 'select id,username,sex,age from gisuser.test ')
values('5','22','33','33')
几乎用变了网上能找到的所有方法,一直未解决,期待高手知道