OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中

来源:互联网 发布:软件定义存储 编辑:程序博客网 时间:2024/06/04 18:08

错误细细:

服务器: 消息 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')

 

几乎用变了网上能找到的所有方法,一直未解决,期待高手知道

原创粉丝点击