oracle通过dblink连接mysql配置

参考:https://blog.csdn.net/whandgdh/article/details/99354252

环境

Oracle11g 64位
mysql5.7
安装数据源驱动(ODBC)64位

检查是否安装了Oracle的透明网关
在这里插入图片描述
如果没有,去下面这个地址下载:

https://www.oracle.com/cn/database/technologies/microsoft-windows.html
在这里插入图片描述
安装步骤:
参考:https://blog.csdn.net/u014088839/article/details/78603665
在这里插入图片描述
在这里插入图片描述
选择组件,因为是要链接到mysql,所以选ODBC
在这里插入图片描述
等待安装完成

再次输入dg4odbc,出现下面情况表示安装成功。
在这里插入图片描述
参考:https://blog.csdn.net/whandgdh/article/details/99354252

透明网关配置:

mysql驱动安装

在这里插入图片描述
在这里插入图片描述
二:检查之后没问题开始安装
参考:https://blog.csdn.net/weixin_42273775/article/details/81357452
在这里插入图片描述
在这里插入图片描述
选这个
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
接下来进行oracle透明网关配置:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200924141505493.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rpb
mcxa2luZw==,size_16,color_FFFFFF,t_70#pic_center)
在这里插入图片描述
然后打开E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 的listener.ora文件:

但是我发现我没有这几个文件,
参考:https://blog.csdn.net/CSDN818/article/details/85309879

https://blog.csdn.net/u010902500/article/details/78605867?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.channel_param

然后就解决了

在listener.ora文件里添加:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = D:\Oracle\app\use\product\11.2.0\client_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\app\use\product\11.2.0\client_1\BIN\oraclr11.dll")

    )

      (SID_DESC =

      (SID_NAME = mysqlodbc)

      (ORACLE_HOME = D:\Oracle\app\use\product\11.2.0\client_1)

      (PROGRAM = dg4odbc)

     )

  )

修改之后,重启Oracle服务,这一操作实现方式多样,可以直接在service.msc里重启,
在这里插入图片描述
找到tnsnames.ora文件,添加一下配置

 mysqlodbc =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 3306))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = mysqlodbc)

    )

    (HS = OK)

  )

创建dblink

create database link mysqllink
 
  connect to "scott"
 
  identified by"tiger"   using 'mysqlodbc';

.访问mysql库中的表user,注意大小写。

[oracle@11g admin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 15 20:02:16 2011

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create public database link myodbc5 connect to "mysql_user" identified by "mysql_user" using 'myodbc5';

Database link created.

SQL> select * from "t"@myodbc5;

id
----------
20
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页