先建一个DBLINK,连接两台数据库,进行数据操作.
create database link FROM_OTHER.US.ORACLE.COM //FROM_OTHER是DBLINK的名字
connect to user_name //连接到远程数据库的用户名
identified by "password" //连接到远程数据库的密码
using 'server_name'; //用net manager配置连接远程数据库的实例名
然后再建一个触发器,实现本地新增数据时,同样新增到远程数据库表中.
create or replace trigger trigger_name
after insert on table_name
for each row
begin
insert into table_name1@dblink_name values(:new.value1,:new.value2,...);
end trigger_name;
create database link FROM_OTHER.US.ORACLE.COM //FROM_OTHER是DBLINK的名字
connect to user_name //连接到远程数据库的用户名
identified by "password" //连接到远程数据库的密码
using 'server_name'; //用net manager配置连接远程数据库的实例名
然后再建一个触发器,实现本地新增数据时,同样新增到远程数据库表中.
create or replace trigger trigger_name
after insert on table_name
for each row
begin
insert into table_name1@dblink_name values(:new.value1,:new.value2,...);
end trigger_name;
解决方案 »
- oracle em 无法连上
- 关与GROUP BY 的问题
- 关于oracle中使用聚合函数
- 用存储过程取数据库中BLOB并把它保存到文件中,
- BLOB字段如何UNION呀
- ORA-00942:table or view does not exist,很奇怪的一个问题,大家过来帮帮忙吧
- SQL Server存储过程中的“MSG is not null”怎么改成Oracle的语句?
- 关于两个表的查询
- 求ORACLE的函数集,不要什么超星的,希望能够方便查看查询的
- package STANDARD not accessible如合处理呀
- 如何建立表或视图
- 如何在安装程序中,实现修改系统的环境变量为oracle客户端的安装目录????
你的意思是远程的计算机也需要装Oracle数据库,然后进行数据库的连接,想问一下DBLINK如何建立啊?
不好意思,菜鸟问题,多谢指教!
begin
insert into table2 (field1,field2.....)
values(:New.field1,:New.Field2.....);
end;
系统提示出错“.New不能用在表层”类似的出错信息,如何修改?
如果是用代码建的话,不要漏了FOR EACH ROW 这句.
因为:NEW关键字,只有在行级触发器中使用.
DBLINK的优势在于即时,但是收网络条件影响。
文件导入方法不受网络条件影响,但是数据反映不了最新的记录,更新太慢。
方法三:利用表的自动复制功能,这个我也是才从书上看的,还不是很了解,不过这种方法不需要人为干预,系统自动同步,即使哪天网络中断了,只要等网络一恢复又能自动保持同步了。即时性稍微比DBLINK慢点,你可以设置每隔多久就同步一次,比如一分钟。当然,如果间隔太短的话对数据库性能还是有一定影响的。
请问一下,是不是远程的计算机也需要装一个Oracle服务器,设置数据库,创建数据库连接,再创建触发器?