用透明网关与mssqlserver同步遇到神异常
用透明网关与mssqlserver同步遇到神错误
测试环境具体情况入下:
Win7 X64 Oracle 10g oracle10g透明网关 表tba
Win7 X64 MSSQLSERVER2012 表tbb
场景是Oracle的tba与sql的tbb两表的FieldB要做到实时同步
于是透明网关创建完成,查询没任何问题。
problem:
create or replace trigger TRG_A
after update of fieldb on tba
for each row
declare
cnt integer;
begin
select count(1)
into cnt
from tbb@remote_db a
where a."FieldA" = :old.FieldA;
IF cnt < 1 THEN
dbms_output.put_line('远程数据库无此记录,修改失败!');
ROLLBACK;
RETURN;
END IF;
update tbb@remote_db a
set a."FieldB" = :new.fieldb
where a."FieldA" = :old.FieldA;
end TRG_A;
错误是ORA-02070: database remote_db not support SYS_OP_C2C in this context
google都快疯了,唯一只找到一句相关的还是日语:

看样子讲的还是DB2的类型与Oracle类型的原因。
求坛子里的大神啊,只剩30分,全给了
------解决方案--------------------
是不是你远程用户没有权限修改啊
测试环境具体情况入下:
Win7 X64 Oracle 10g oracle10g透明网关 表tba
Win7 X64 MSSQLSERVER2012 表tbb
场景是Oracle的tba与sql的tbb两表的FieldB要做到实时同步
于是透明网关创建完成,查询没任何问题。
problem:
create or replace trigger TRG_A
after update of fieldb on tba
for each row
declare
cnt integer;
begin
select count(1)
into cnt
from tbb@remote_db a
where a."FieldA" = :old.FieldA;
IF cnt < 1 THEN
dbms_output.put_line('远程数据库无此记录,修改失败!');
ROLLBACK;
RETURN;
END IF;
update tbb@remote_db a
set a."FieldB" = :new.fieldb
where a."FieldA" = :old.FieldA;
end TRG_A;
错误是ORA-02070: database remote_db not support SYS_OP_C2C in this context
google都快疯了,唯一只找到一句相关的还是日语:
看样子讲的还是DB2的类型与Oracle类型的原因。
求坛子里的大神啊,只剩30分,全给了
------解决方案--------------------
是不是你远程用户没有权限修改啊