两个oracle数据库之间互相导数(每天早8:00后在线等) (200分)

  • 主题发起人 泥巴caption
  • 开始时间

泥巴caption

Unregistered / Unconfirmed
GUEST, unregistred user!
在两个计算机上分别装了oracle8.1.7 workgroup 如果要想将一个计算机中的数据自动
导入到另一个机器中的数据库中,该怎么导?注:不是用手动的emp 和imp。请大家帮帮
我吧,不胜感激。
 
1。建立两个数据库的数据连接。
2。在表上建立触发子或过程,来更新所需数据。
 
ORACLE也是可以数据库相连接的,按楼上的方法就行了,
如果数据库端不能修改的话,只有在程序中控制吧.
 
有否考虑过将计划任务中,定时调用imp?如果是在UNIX下,也可考虑自己写一个后台运行
的程序来调用导入导出工具。
 
oracle好象有自己的计划任务吧!记得好象见过!
 
我是菜鸟,具体的实现方法能说清楚一点吗?
 
同意sachow 我以前就是在unix 中用at 来做的!效果不错,自动imp 自动ftp 自动exp
网上有类似的介绍的!
你去www.fanqiang.com 看看
 
1.建数据连接
create database link mylink connect to scott identified by tiger using 'aaaa';
2.如果数据需要同步,建立触发子。不需要同步可以建立过程,
在过程中筛选处理你所需要传送的数据;
 
有例子吗?可以发到我的mail里:ming0451ming@163.com 问题解决了我会给分的,
谢谢
(需要同步)
 
1.建数据连接
create database link mylink(连接名) connect to scott(目标用户名)
identified by tiger(目标用户口令) using 'aaaa'(目标用户连接字符串);
例子:select * from dept@myLink; 也可以为dept@myLink建立个同义词;
2.建立触发子。
create or replace trigger triggetName
before(也可用after) insert or delete or update on dept
for each row
declare
--定义变量
begin
if inserting then --如果当前表进行的是插入记录操作
begin
--insert into dept@myLink;
end;
elsif updating then
begin
--update dept@myLink set dept_no = :new.dept_no where dept_no = :eek:ld.dept_no;
end;
else
begin
--delete dept@myLink;
end;
end if;
end;
new 和 old分别表示触发前和触发后的值。用法是 :new.
 
可以得分了吗!!
 
多谢你的解答,给了我很大的帮助,可惜没能解决问题,不过我还是会给你100分的。
 
如果你是同时向多个数据库插入数据可以建DBLINK
这样你可以在程序中使用系统命令EXP,只要选择要导出的表或用户就行,这样很方便
安全,或者用SQLLODER先把数据库中的TABLE变成TXT文本,然后导入时再转换就可以了
(前提是需要注意,再导入之前先保证目的表没有你要导入的数据)
呵呵
 
还又什么问题吗
 
多人接受答案了。
 
顶部