日期:2014-05-17  浏览次数:20772 次

ORACLE透明网关问题请教

一台机子上安装oracle9i和SQL Server2000的数据库,通过透明网关连接。

在PL/SQL中的问题现象:
  1、select 查询没有问题:select * from staffrecord@link_sws,可以得到正确结果
  2、直接insert语句没有问题:insert into staffrecord@link_sws.us.oracle.com("Empcode" ) values( 'Empcode'); 可以提交,也可以在MSSQL中看到正确结果。
  3、把2中的insert语句放到触发器或存储过程过程中,可以执行,但提交失败(库中新行已创建,但commit失败),报错:

ORA-02054: 事务处理6.31.95807有问题
ORA-28500: 连接 ORACLE 到非 Oracle 系统时返回此信息: 
[Transparent gateway for MSSQL]
ORA-02063: 紧接着2 lines(源于LINK_SWS) 

------最佳解决方案--------------------
把3的情况, 这个放到自主事务中就不会有问题了。
------其他解决方案--------------------
请DX指教!!!
------其他解决方案--------------------
非常感谢,就是这样解决的~~
------其他解决方案--------------------
看不到
------其他解决方案--------------------
看不见啊