dblink(Database Link)数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。


实验环境:

win8 64位

oracle11g

mysql5.7

准备:

dg4odbc

MYSQL-ODBC-5.X

实验步骤:

一.MYSQL ODBC 配置

1.开始菜单-oracle-配置和移植工具-ODBC管理员

2.系统DSN 创建新数据源

名称mysqlodbc

 

二.配置ORACLE透明网关

位置:%ORACLE_HOME%/hs/admin/

创建:init(数据库名).ora

这里我们使用initmysqllink.ora

内容:

HS_FDS_CONNECT_INFO = mysqlodbc  #数据源名称
HS_FDS_SUPPORT_STATISTICS=FALSE
HS_FDS_TRACE_LEVEL = debug

 

三.配置TNSNAMES&LISTENER

tnsname.ora,连接端配置文件,主要内容是要访问的数据库的连接串的解释。也就是@后面的字符传的解释文件。这个主要出现的访问端(客户端),当然并不是说服务器端没有,因为服务器端也可以是访问端,比如服务器互相访问的dblink,以及服务器自己访问自己。类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应。

listener.ora,监听配置文件,接受远程对数据库的接入申请并转交给oracle的服务器进程。这个文件里面是监听的主要(重要)配置内容,也是监听在服务器端的主文件。

位置:%ORACLE_HOME%\NETWORK\ADMIN

1.tnsnames.ora增加

mysqllink =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SID = mysqllink)
    )
    (HS = OK)
  )

2.listener.ora SID_LIST_LISTENER增加

 (SID_DESC =     
	(SID_NAME = mysqllink)     
	(ORACLE_HOME =xxx)     
	(PROGRAM = dg4odbc)     
 )

3.重启监听服务并检查是否正常

lsnrctl reload
lsnrctl status
tnsping mysqllink

四.Oracle中创建Dblink连通Mysql

create database link mysqllink1 connect to "root" identified by "123456" using 'mysqllink';

五.Oracle与Mysql进行交互

查询

select * from “user”@mysqllink1;

插入

注意要commit

insert into "user"@mysqllink1 values(3,'oracledblink','test');
commit;

Mysql查询

添加成功