Oracle DBLink的使用

在做应用系统开发时,我们会遇到一个问题,就是我们应用系统有些数据需要从其他数据库的某一张表拿到数据,那我们应该怎么办?比如:子公司的销售系统需要从广州总部人力资源管理系统的数据库当中获取最新的用户信息,那我们应该怎么实现?实现现在的做法有很多,可以通过WebService方式获取,但开发成本还是比较高,假设安全方面的问题已经得到了很好的解决,我们只需要通过远程数据库所提供的用户名跟帐号进行数据的获取就行了,不需要考虑其他复杂的问题,那DBLink是一个不错的选择。使用DBLink的方式,可以像操作本地数据库表一样,操作远程数据库的表数据。

 

首先,我们需要创建一个DBLink,将广州总部的数据库映射到上海分公司数据库服务器上。
create database link hr_tables
connect to manbu
identified by "admin"
using 'WALK'

其中hr_tables是远程数据库的一个别名
manbu是远程数据库的数据库用户名
admin为manbu的密码
WALK为数据库在本地数据库的SID
接着,我们可以做一下测试,比如我们想拿到数据库的某一张表数据,那我们可以在命名行下做如下的测试:
select user_name from mall_user@hr_tables;
每一张表都必须加上@hr_tables字符串,表示该表是dblink所指向的远程数据库的表单
或者,你会觉得这样子很麻烦,那我们可以为mall_user@hr_tables配置一个别名,那就没有改须麻烦啦。
创建mall_user@hr_tables的同义词,也即别名:
create synonym mall_user for mall_user@hr_tables;

阅读更多
个人分类: Oracle
上一篇Oracle数据库的导入导出
下一篇mysql数据库的导入导出
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭