ORACLE 访问MYSQL 配置笔记

 ORACLE本身并没有针对MYSQL的透明网关,因此ORACLE 访问MYSQL需通过ODBC 的透明网关完成。出于简单说明,ORACLE 安装在Windows 系统下。

第一步: 安装MYSQL ODBC 驱动

由于是ORACLE 访问MYSQL, 因此MYSQL ODBC 驱动 必须安装在ORACLE 所在的服务器上。可下载安装mysql-connector-odbc-*.msi 安装,或者在安装mysql 社区版时选择安装connector-odbc。 需要说明的是,并不是每次都能安装成功connector-odbc。

 

第二步: 创建MYSQL ODBC 数据源

在管理工具-> 数据源(ODBC)->系统DSN 中添加MYSQL的ODBC 数据源。假设取名“KEYMYSQL”A。可以在配置过程中测试连接,确保能够连通。

 

第三步: 创建init<网关>.ora

在$ORACLE_HOME\HS\ADMIN\ 目录下有一个initdg4odbc.ini 文件。 在当前目录下,复制一命名规则为 init<网关>.ora的文件,例如initmysql.ora , 这里“mysql”B就是网关的sid.。 该文件中两行可以如下配置:

HS_FDS_CONNECT_INFO = keymysql  

HS_FDS_TRACE_LEVEL = NO

其中HS_FDS_CONNECT_INFO 的值就是第二步配置的ODBC数据源 “KEYMYSQL”A 中的值。

 

第四步: 将网关添加监听中

在数据库服务器上修改$ORACLE_HOME\network|admin\ 下的listener.ora 文件,在SID_LIST_LISTENER 添加标红这段:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

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

      (PROGRAM = extproc)

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

    )

    (SID_DESC =

      (SID_NAME = mysql)

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

      (PROGRAM = dg4odbc)

    )

  )

 

 

这里 需要说明的是,一是,SID_NAME 的值就是第三步网关“mysql”B的值,和第二步ODBC 数据源的值无关, 二是ORACLE_HOME 是你数据库中实际的$ORACLE_HOME值不要直接拷贝忘了改。

 

第五步:配置别名

在数据库服务器上修改$ORACLE_HOME\network|admin\ 下的tnsname.ora 文件,添加数据库别名:

MYSQLSERVER =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = mysql)

    )

    (HS = OK)

  )

其中“MYSQLSERVER”C 是别名, SERVICE_NAME 的“mysql”对应的是第三和第四步中的SID

 

第六步: 创建数据库连接

执行以下SQL:

create database link mysqllk

  connect to "root"

identified by "root" using ‘MYSQLSERVER’;

其中“mysqllk”是database link ,

 

第七步: 测试

假设MYSQL中有个表t, 在ORACLE 中执行:

Select  * from t@ mysqllk ;

 

如果返回值正确,则表示配置过程。

 

 

PS:  由于MYSQL 是UTF8 字符集,ORACLE 数据库是US7ASCII 字符集,读取MYSQL中的中文会返回乱码,网上一些,例如在 init<网关>.ora 中配置HS_LANGUAGE和HS_NLS_NCHAR的方法还不奏效,还需下一步排除。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9036/viewspace-1606163/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9036/viewspace-1606163/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值