在我们实际应用过程中会经常遇到这个问题,两个不同系统间要进行数据传输。
那我现在的这个项目来说吧,我这里的基础数据是来自其他系统,这个时候我们就需要读取其他数据库表中的数据了。
遇到这个问题创建dblink是个很好的解决方法,具体操作如下:
1、注意关闭两台计算机上的Windows的防火墙,否则,会出现能ping通,但Oracle连接不通的情况。
2、全局数据库名,SELECT * FROM GLOBAL_NAME
修改可以用以下语句来修改参数值:
ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;
当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样,为了简单我是按照FALSE来操作的
3、创建dblink的语法:
CREATE [PUBLIC] DATABASE LINK link
CONNECT TO username IDENTIFIED BY password
USING ‘connectstring’
我的例子:
--创建dblink
create database link DTBJ.US.ORACLE.COM connect to PLATFORM identified by PLATFORM using 'DTBJ';
我当时是到这样就以为可以了,然后就用测试dblink的语句进行测试
--测试dblink
select * from dual@DTBJ.US.ORACLE.COM
提示:没有监听!
我用的是客户端,没有在服务器上建