ITPub博客

首页 > 数据库 > Oracle > [置顶]dblink同步远程带有blob字段的表

[置顶]dblink同步远程带有blob字段的表

Oracle 作者:jl2ydw 时间:2013-01-11 18:06:44 0 删除 编辑
需求:数据库双机热备份,采用dblink和触发器来实现两个数据库同步,但是在同步插入操作主数据库中一张带有blob字段表的时候出现了问题,oracle的触发器不可以直接访问远程表的blob字段,会报错:无法使用从远程表选择的 lob 定位器。解决方法如下:1,在本地数据库创建一个结构和含有blob字段表相同的临时表。              2,把新插入的数据插入到临时表中。              3,再把临时表的数据用insert into remoteTable@dblink_name  select * from temp的形式插入到远程数据库中示例代码如下:              CREATE GLOBAL TEMPORARY TABLE temp as select * from test(含有blob字段,字段名为file) where 1=2;             触发器:             create or replace trigger test_trigger             after insert  on test             for each row             begin             if inserting then              insert into temp (id,file,name) values (:new.id,:new.file,:new.name);              insert into test@dblink_name  select * from temp(只能用select * 的方式来插入,不然会报错)where id=:new.id;end if;end;

加QQ:800060152 获取Oracle技术沙龙,网络公开课资格http://www.cuug.com/jishushalong/jishushalong/

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22410314/viewspace-1117057/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-08-24