错误细细:
服务器: 消息 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')
几乎用变了网上能找到的所有方法,一直未解决,期待高手知道
在 SQL Server 2000 中使用触发器执行跨数据库操作到 Oracle 10g 时遇到问题。直接执行 OPENQUERY 语句可以成功,但放在触发器中执行时,出现无法启动分布式事务的错误。
7414

被折叠的 条评论
为什么被折叠?



