Oracle 实现不同数据库表间的调用
具体做法:
1. 在A数据库所在计算机上建立oracle的实例名:
在(oracle安装所在目录)D:\oracle\ora92\network\ADMIN\tnsnames.ora文件中增加如下代码
A_old_ddzx =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 168.192.77.102)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ddweb)
(SERVER = DEDICATED)
)
)
这其中 host= B数据库所在本机的ip地址
Sid =B实际数据库的sid(在项目工程下config目录下、数据库连接配置文件中db.url=jdbc\:oracle\:thin\:web/web@192.168.77.102\:1521\:ddweb 可以查看host 和 sid)
2. 在数据库A服务器端建立DBLINK
create public database link dblink_powercut
connect to 数据库登陆用户名 identified by 密码
using A_old_ddzx ';
sql语句为: 表名 写 : B数据库的 访问数据库名 。点B库 表名@ dblink名 来访问
select
需要的字段 a.xx , b.xx .....
from
b.表名@dblink_powercut a ,b.T_YQRGZNRMX@dblink_powercut b
同理 你也可以 连接不同的数据库 通过创建数据库 连接 指定的目标数据库 的实例名
和 dblink 可以实现 oracle的分布式调用
还有那个什么 服务名 sid 实例名 全局数据库名 几个名词 一只没弄得很清楚
相关资源:敏捷开发V1.0.pptx