Oracle通过Dblink实现与Mysql交互
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
内容:
1 2 3 |
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增加
1 2 3 4 5 6 7 8 |
mysqllink = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SID = mysqllink) ) (HS = OK) ) |
2.listener.ora SID_LIST_LISTENER增加
1 2 3 4 5 |
(SID_DESC = (SID_NAME = mysqllink) (ORACLE_HOME =xxx) (PROGRAM = dg4odbc) ) |
3.重启监听服务并检查是否正常
1 2 3 |
lsnrctl reload lsnrctl status tnsping mysqllink |
四.Oracle中创建Dblink连通Mysql
1 |
create database link mysqllink1 connect to "root" identified by "123456" using 'mysqllink'; |
五.Oracle与Mysql进行交互
查询
1 |
select * from “user”@mysqllink1; |
插入
注意要commit
1 2 |
insert into "user"@mysqllink1 values(3,'oracledblink','test'); commit; |
Mysql查询
添加成功
近期评论