解决问题者散分

kerisyml 2003-10-13 03:07:32

数据来源-》A库《---》B库《-数据来源
同步数据
说明:
1、A库和B库在同一个Oracle数据库中
2、在A库中插入一条数据(涉及到三个表a,b,c,共用一个序列)时,要求B同步插入一条数据(涉及到三个表aa,bb,cc)???
3、在B库中插入一条数据(涉及到三个表aa,bb,cc,共用一个序列)时,要求B同步插入一条数据(涉及到三个表a,b,c)???
4、A库,B库接受的数据来源是不同的,即我想保持者两个库中的三个表数据同步,该如何解决?
5、如果两边都用触发器,则会进行死循环,况且触发器同时对三个表好像也不行??

6、如果谁能详细解决,我答应再奉献500分给他,说话算话
...全文
96 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiezhi 2003-10-17
  • 打赏
  • 举报
回复
使用高级复制技术可以解决.我们以前做分布式数据库的时候为保证数据同步就是使用的高级复制.但比较麻烦.
具体请查资料.
JCC0128 2003-10-17
  • 打赏
  • 举报
回复
呵呵,魂兄好呀,好久没看到你了,从来只看到你帮人解答问题的,今天也看到你的问题了~
帮你顶一下,祝早日解决让我们也好学两招~
hushuangyang 2003-10-17
  • 打赏
  • 举报
回复
建立一个基于dblink的连接视图,例如在A上,插入数据到视图a,b,c时,直接对应到B的aa,bb,cc
这样可以保持同步,而且使用起来非常简单。
qq:106383098
armu80830 2003-10-16
  • 打赏
  • 举报
回复
你只在B库中相关表上建立触发器,而A库中不建触发器,B库的触发器在向A库插入数据时要判断数据是否已经存在。
你用程序向A库中的插入数据后,再用程序对B库进行相同数据插入。
kerisyml 2003-10-15
  • 打赏
  • 举报
回复
难啊难
lcz022 2003-10-15
  • 打赏
  • 举报
回复
那就用 sql server 的导入导出工具建立一个任务,然后建立触发器,当A库有一条数据插入时同时向B库插入一条数据.
Nickle_Final 2003-10-15
  • 打赏
  • 举报
回复
关注!
chanet 2003-10-14
  • 打赏
  • 举报
回复
学习ing...
kerisyml 2003-10-14
  • 打赏
  • 举报
回复
LGQDUCKY(飘) :
你说的蛮对的,我也考虑过这个问题,不过有一个疑难是B库中的程序不是我做的,也就不能用你那种方法实现
LGQDUCKY 2003-10-13
  • 打赏
  • 举报
回复
这是一个比较简单的想法,如果你不想用触发器,既然是两边的数据来源不同。
在库A和B分别建立DBLINK,如果库A INSERT 一条记录,如果成功。就发第二条
语句给B,反之一样,在过程里面实现应该很简单。不知道你有什么见解?
kerisyml 2003-10-13
  • 打赏
  • 举报
回复
lcz022:
你这种思维明显想错了,我需要的是数据的同步,不是要你把整个数据导入导出
lcz022 2003-10-13
  • 打赏
  • 举报
回复
再在库B上建立一个任务定时执行上述过程。
lcz022 2003-10-13
  • 打赏
  • 举报
回复
还有,我上面解决的是A库的表名和B库的表名一样。
lcz022 2003-10-13
  • 打赏
  • 举报
回复
用数据链路和建立任务可以解决。
建立两条数据链路:
(1) A库--->B库:A_link
(2) B库--->B库:B_link
以下可以解决问题1,问题2同理:
写一个过程:
CREATE OR REPLACE procedure A_syn
as
sTableName varchar(30);
cursor crTable is select TABLE_NAME from user_tables@A_link
begin
open crTable;
LOOP
fetch crTable into sTableName;
EXIT WHEN crTable%NOTFOUND;
sSql:='INSERT INTO ' || sTableName ||' select * from '
|| sTableName || '@' || A_link;
EXECUTE IMMEDIATE(sSql);
commit;
exception
when others then
return;
end loop;
close crTable;
end ;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧