您的位置:首页 > 数据库 > Oracle

Oracle 通过网关连接MySql的配置

2015-06-05 15:53 696 查看

叨叨、

网络上使用oracle网关来连接sql server ,db2 ,sybase 等的数据库的实例比较多,唯独少了使用oracle网关来通过ODBC连接的样例,MySql 就是一个ODBC 的。

现在看看如何使用oracle网关连mysql 。

官网文档介绍:http://www.oracle.com/technetwork/cn/database/gateways/index-087505-zhs.html

准备条件、

ORACLE数据库11.2.0.3 操作系统:windows8_64位 http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
MYSQL 5.6 操作系统:windows8_64位

Oracle Data Gateway 11.2 -------------其实:oracle 在安装的时候已经将getaway安装好了,在安装之前,去安装目录中查看,如果没有安装再去下载安装。

MYSQL ODBC 5.4 (现在没有找到5.6 的版本) 官方的下载地址:https://edelivery.oracle.com/EPD/Search/handle


一、前提条件


1. 安装Oracle

下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 有很多的版本可以选下载并安装

设置系统变量:

ORACLE_HOME=D:\app\rocky\product\11.2.0\dbhome_1 ,

TNS_ADMIN=%ORACLE_HOME%\NETWORK\ADMIN\,

PATH=D:\app\rocky\product\11.2.0\dbhome_1\bin;D:\app\product\11.2.0\tg_1\bin;......


2.Oracle Data Gateway 安装(没有安装,再去安装)

同样在oracle 的官网中可以找到,一定要找到对应的版本,否则会出现问题的.


3.安装完成之后,检查DG4ODBC驱动是否已经安装的方法如下

在Oracle服务器上,cmd窗口中执行命令(dg4odbc),若有安装则显示如下信息:

C:\Users\Administrator>dg4odbc




二、安装步骤


1. 配置MySQL ODBC DSN

一路默认安装完mysql odbc 之后,会有 win8 64 (C:\Windows\System32\odbcad32.exe) 用来对dsn做配置.

(不过很多时候应该选择的是系统DSN,因为很多时候你的用户DSN的权限是有限的,不能提供完美的支撑,所以要根据情况选择系统DSN最合适的是)

双击就可以将进行相应的odbc 的配置了,不多讲,如图所示:




三、透明网关的配置


3.1 "initdg4odbc.ora"的文件

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

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


3.2 initdg4odbc.ora文件参数的说明主要是init+<网关sid>+.ora配置

HS_FDS_CONNECT_INFO = ODBC数据源管理中的DSN名称【本实验为MYSQLODBC】

HS_FDS_TRACE_LEVEL = OFF 【追踪级别参数,出于性能影响一般不配置或者配置为"OFF",若遇到网关问题需要跟踪日志,则配置为"Debug",跟踪日志文件存放在"ORACLE_HOME\hs\trace"目录下】

本样例中对应填上initmysqlodbc.ora 文件的:

HS_FDS_CONNECT_INFO = mysqlodbc

HS_FDS_TRACE_LEVEL = off

HS_FDS_SUPPORT_STATISTICS=FALSE

HS_RPC_FETCH_REBLOCKING= OFF

HS_FDS_FETCH_ROWS = 1


3.3 配置网关监听listener.ora

网关监听可配置的参数如下:SID_NAME 网关的SID

ORACLE_HOME : 目录

PROGRAM : 指定监听服务响应ODBC连接请求的可执行程序

请参考如下或者透明网关的配置:

# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

)

(SID_DESC =

(SID_NAME = MYSQLODBC)

(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

(PROGRAM = dg4odbc)

)

)


3.4 重启监听服务

在cmd下面运行

lsnrctl stoplsnrctl start


3.5 配置TNS

打开 "ORACLE_HOME\network\admin\tnsnames.ora"文件

需要配置的参数如下:

connect_descriptor:填写自定义的TNS连接名称

ADDRESS:填写透明网关的IP地址和端口

SID:指定连接网关的SID

HS :指定连接的是非ORACLE数据库

connect_descriptor=

(DESCRIPTION=

(ADDRESS=

(PROTOCOL=TCP)

(HOST=host_name)

(PORT=port_number)

)

(CONNECT_DATA=

(SID=gateway_sid))

(HS=OK))
本例子配置如下:

MYSQLODBC=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = (本机IP/主机名))(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = MYSQLODBC)

)

(HS = OK)

)


3.6 配置DBLINK

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

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

create database link MYSQLLINK

connect to "DEMO"

identified by "DEMO" using 'MYSQLODBC';
具体可见:

create public database link mysqlodbc connect to "admin" identified by "admin"

using '(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP) (HOST = IP/主机名) (PORT =1521) )

(CONNECT_DATA = (SID =
mysqlodbc ))

(HS=OK))';

此命令可以网络搜索得到结果。


3.7测试结果的配置

用sqlplus在服务器上面执行语句,返回如下值表明配置成功

SQL> select * from dual@MYSQLODBC;

D

-

X
如此基本上的服务都配置完成了,剩下的就是看你怎么样使用oracle 网关了。。。 。。。

说明文档:
http://blog.itpub.net/12679300/viewspace-1177222/ http://www.itpub.net/thread-1845639-1-1.html http://blog.itpub.net/14710393/viewspace-1082556/
注意点:

1.用户的权限一定要高,否则很可能出现很多不明白的error错误。

2.对应的版本一定要安装好,否则很可能出现很多解决不了的错误,让你一头雾水。

比如一个安装的是32位的,一个却是64 的,这个肯定是要爆的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: