Oracle 透明网关连接MySQL

Oracle透明网关连接MySQL
连接器下载:http://cdn.mysql.com/Downloads/Connector-ODBC/5.2/mysql-connector-odbc-5.2.6-1.el6.i686.rpm

1.配置unixODBC          
/etc/odbc.ini
[mysql]
Driver    =/usr/lib/libmyodbc5w.so
Server    =192.168.1.50
User    =mysql
Password=mysql
Port    =3306
database=edmond
Charset    =GBK

使用isql测试

 
2.配置HS
编辑$ORACLE_HOME/hs/admin/initmysql.ora
其中mysql是sid

HS_FDS_CONNECT_INFO = mysql
HS_FDS_TRACE_LEVEL = debug
HS_FDS_SHAREABLE_NAME = libodbc.so
HS_LANGUAGE=AMERICAN_AMERICA.ZHS16GBK
set ODBCINI=/etc/odbc.ini

语言这行不能缺少,否则报错。

3.配置tns
mysql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = mysql)
    )
    (HS = OK)
  )


4.配置监听器
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = mysql)
      (ORACLE_HOME = /home/lihuilin/dev/app/lihuilin/product/11.2.0/dbhome_1)
      (SID_NAME = mysql)
      (PROGRAM    = dg4odbc)
      (ENVS="LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib")
    )
  )

LISTENER =
  (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    (ADDRESS = (PROTOCOL = TCP)(HOST = lihuilin.home)(PORT = 1521))
  )

ADR_BASE_LISTENER = /home/lihuilin/dev/app/lihuilin

5.创建db link


在MySQL创建测试表
create table t(a varchar(20) primary key) engine=innodb,charset =gbk;
insert into t values('透明');
commit;

查看结果:


如果前台报错如下所示
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[


$ORACLE_HOME/hs/log的后台日志报错如下:
hgopoer, line 233: got native error 0 and sqlstate I; message follows...
[
Exiting hgopoer, rc=0 at 2014/03/04-21:40:18
hgocont, line 2752: calling SqlDriverConnect got sqlstate I
Exiting hgocont, rc=28500 at 2014/03/04-21:40:18 with error ptr FILE:hgocont.c LINE:2772 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2014/03/04-21:40:18 with error ptr FILE:hgolgon.c LINE:781 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2014/03/04-21:40:18

有两个可能
1.HS_LANGUAGE没有配置
2.HS_LANGUAGE和MySQL的字符集不匹配

参考:
http://blog.itpub.net/21601207/viewspace-709366
https://community.oracle.com/thread/1058928?tstart=69&messageID=4227188





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

转载于:http://blog.itpub.net/29254281/viewspace-1101147/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值