当前位置:   article > 正文

Oracle 连接MySql 的配置_mysql可以dblink到oracle吗

mysql可以dblink到oracle吗

可以结合参考

Oracle 通过网关连接MySql的配置_oracle21c 网关 配置mysql-CSDN博客 来看本文档

一、说明

1、服务器现状

服务器 A :win 64 ,IP : 192.X.X.X ,已经安装ORACLE 11g 和 client 11g。

实例orcl,用户test,密码123456

服务器B:win 32位  ,192.168.X,X,装有mysql。

数据库 test,用户 test1,密码123456

2、需求

在 A上通过安装配置,实现 plsql 可以通过dblink 连接B的mysql,实现 在oracle中对mysql的数据 进行 增删改查等操作。

3、以下都是在A服务器上进行的操作。

4、网上资料说需要安装 oracle getaway 透明网关,但是现在一般在安装ORACLE 11g数据库都是带有的,不需要另外进行安装,这里只要安装dg4odbc驱动,进行配置即可实现。

5、原理简单说明:使用 oracle网关来通过ODBC连接MySQL。 ( MySQL是一个ODBC )

二、操作

1、安装DG4ODBC驱动

A是64位,下载64位的驱动,我使用的 是

 (这个可以复制下来进行安装),可以自行下载其他版本 。

没有安装前如下图,没有对应mysql的驱动。

win8 64 (C:\Windows\System32\odbcad32.exe)

2、解压后,安装 mysql-connector-odbc-commercial-5.3.3-winx64.msi 文件,默认安装即可

安装过程有报错的,可以从软件管家安装 微软常用运行库合集 64位_2018.7.30

3、安装后,可以查看已经有了驱动

win8 64 (C:\Windows\System32\odbcad32.exe)

在Oracle服务器上,cmd窗口中执行命令(dg4odbc),表示已经安装成功

4、odbc 的配置

选择,系统DSN--添加—mysql odbc 5.3 ANSI Driver。(参考上图)

进行对应配置 名称   mysqlodbc  

点击 按钮  Test,测试 是否连接成功。

5、透明网关的配置

在" ..\product\11.2.0\dbhome_1\hs\admin"目录下,默认存在名为"initdg4odbc.ora"的文件,复制"initdg4odbc.ora"文件,新文件名称改为"initmysqlodbc.ora",

【每个使用DG4ODBC的实例,都必须单独一个"init*.ora"文件,文件命名规则:init+<网关sid>+.ora】

最终我配置是

HS_FDS_CONNECT_INFO = mysqlodbc

HS_FDS_TRACE_LEVEL = off

6、配置网关监听listener.ora

…\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

加上这段

  1. #以下是透明网关的设置
  2.     (SID_DESC =
  3.       (SID_NAME = mysqlodbc )  # 对应以上的配置名
  4.       (ORACLE_HOME =D:\app\dell\product\11.2.0\dbhome_1)
  5.       (PROGRAM = dg4odbc ) # 固定
  6. )

7、配置TNS

打开 " ….\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora"文件

这个服务名 ,是下面创建link使用的 服务

  1. mysqlodbc =
  2.   (DESCRIPTION =
  3.     (ADDRESS_LIST =
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST =  106-pc)(PORT = 1521))
  5.     )
  6.     (CONNECT_DATA =
  7.       (SERVICE_NAME = mysqlodbc) # 这个是上面的SID_NAME = mysqlodbc
  8.     )
  9.     (HS = OK)
  10.   )

8、重启监听服务

命令重启监听

lsnrctl stop

lsnrctl start

或者手动去 停止\启动

9、配置DBLINK

以sqlplus、PLSQL Developer或TOAD连接到OracleDB,执行以下DDL语句创建DBLink

【在"create database link"语句中,用户名和密码,建议以双引号括起来,避免Oracle在大小写上做自动转换】

 我这里使用plsql来执行

  1. create database link mysqlodbc   connect to "test1"
  2.     identified by "123456" using 'mysqlodbc';

具体意思如下:

  1. create public database link mysqlodbc connect to "test1" identified by "123456"
  2. using '(DESCRIPTION =
  3. (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT =1521) )
  4. (CONNECT_DATA = (SID = mysqlodbc ))
  5. (HS=OK))';

测试查询mysql里的tbopcs表: select  * from tbopcs@mysqlodbc  ;

注意:最后测试时,将监听和oracle service 都重启下测试,看配置是否影响到plsql 对oracle 原来的连接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/458653
推荐阅读
相关标签
  

闽ICP备14008679号