当前位置:  数据库>oracle

Oracle 透明网关访问 MySQL 表

    来源: 互联网  发布时间:2017-06-25

    本文导语: 环境 LINUX 64 BIT Oracle 11.2.0.4     LINUX 64 BIT MYSQL 5.7.141、MYSQL建立一个用户用于ORACLE DBLINK 建立这里忽略掉2、11gR2 默认安装了透明网关检查一下[orared@roseha1 ~]$ dg4odbc Oracle Corporation --- WEDNESDAY NOV 09 2016 15:51:46.233Heterogeneous Agent Release 1...

环境 LINUX 64 BIT Oracle 11.2.0.4
     LINUX 64 BIT MYSQL 5.7.14
1、
MYSQL建立一个用户用于ORACLE DBLINK 建立这里忽略掉
2、
11gR2 默认安装了透明网关检查一下
[orared@roseha1 ~]$ dg4odbc 

Oracle Corporation --- WEDNESDAY NOV 09 2016 15:51:46.233

Heterogeneous Agent Release 11.2.0.4.0 - 64bit Production  Built with
   Oracle Database Gateway for ODBC


dg4odbc 是database gateway for odbc 的简称


3、安装 MYSQL-connector


yum install mysql-connector-odbc.x86_64
这样会安装一些依赖包主要是
mysql-connector*.x86_64.rpm
unixODBC*.x86_64.rpm
unixODBC*.i386.rpm
这里包含了一些需要的库文件
4、配置odbc配置信息
  默认就在/etc/下建立odbc.ini
  我这里配置如下:
  # Setup from the unixODBC64-libs package
[rmt]                                      #连接名
Driver          = /usr/lib64/libmyodbc3.so #驱动
Server          = 192.168.0.150            #mysql服务器ip
Port            = 3306                     #MYSQL端口
User            = 156read                  #建立的MYSQL用户
Password        = test123                  #密码
Database        = test                     #访问的数据


5、测试一下
[root@roseha1 etc]# isql rmt
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
成功


接下来配置oracle的相关配置


6、进入如下目录:
[orared@roseha1 admin]$ pwd
/home/orared/product/11.2.4/hs/admin
建立配置文件格式为init.ora这个sid就是
listener中配置的sid,我这里打开了trace,正式使用需要关系
trace日志在/home/orared/product/11.2.4/hs/log用于排错
[orared@roseha1 admin]$ more initrmt.ora 
HS_FDS_CONNECT_INFO=rmt
# Data source name in odbc.ini
HS_FDS_TRACE_LEVEL= debug
HS_FDS_SHAREABLE_NAME=libodbc.so
HS_FDS_SUPPORT_STATISTICS=FALSE
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P15
#
# ODBC env variables
set ODBCINI=/etc/odbc.ini


HS_FDS_SHAREABLE_NAME=libodbc.so这里一定要注意不是
Driver          = /usr/lib64/libmyodbc3.so
中的库文件
7、配置监听
我这里为了不影响现有的监听新建了一个监听LISTENER2
配置如下:
LISTENER2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = roseha1)(PORT = 1523))
  )
SID_LIST_LISTENER2 =
   (SID_DESC =
        (SID_NAME = rmt)
        (ORACLE_HOME = /home/orared/product/11.2.4)
        (PROGRAM = dg4odbc)
        (ENVS=LD_LIBRARY_PATH=/usr/lib64:/usr/lib:/home/orared/product/11.2.4/lib:/home/orared/product/11.2.4/odbc/lib)
   )
8、配置TNSNEAMS.ORA
我这里配置如下注意HS=OK不能少
rmt_150_mysql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = roseha1 )(PORT = 1523))
    )
    (CONNECT_DATA =
      (SID = rmt)
    )
   (HS = OK)
  )
 
9、建立DBlink


create  database link rmt_150_mysql 
connect to "156read" identified by "test123" using 'rmt_150_mysql';


10、查询数据
select "status" from "test"@RMT_150_MYSQL;


默认情况下LINUX的MYSQL 表名和数据库名是区分大小写的,因为LINUX本身是一个
文件名区分大小的文件系统,但是ORCALE的表名是不区分大小的的。但是字段
MYSQL和ORACLE都不区分大小写。
如果不加上双引号会出现找到表和列。


配置过程遇到一些错误,但是打开
HS_FDS_TRACE_LEVEL = debug 能够很好的找到错误来源,然后解决。

oracle——dg4odbc——odbc——mysql
可以参考:
Detailed Overview of Connecting Oracle to MySQL Using DG4ODBC DatabaseLink [ID 1320645.1]


    
 
 

您可能感兴趣的文章:

  • linux下如何用 C 访问oracle数据库,最好是远程访问
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • Oracle数据库访问参数文件的顺序
  • windows下通过ie访问不到linux环境下的oracle em
  • jbuilder6 中怎样引入oracle 数据访问包
  • (菜鸟的问题)如何在Linux下用OCI访问Oracle
  • ubuntu10下的oracle连接访问
  • Oracle指定IP访问数据库方法
  • 求助:如何在UNIX下访问已经在WINDOWS下安装好的ORACLE?
  • 请教高手: linux c如何远程访问windows下的oracle数据库?
  • linux中用C++访问oracle数据库后,封装接口的问题……………………
  • linux as3 安装oracle10g ,web端能访问,终端用命令不能进入
  • LINUX下访问oracle时sleeping的线程过多,达到300多个,造成系统拥堵!
  • linux下怎么配置jdbc 访问oracle ,知情者请告知
  • linux + oracle用XP访问不了
  • Linux下怎么访问Oracle数据库?求助!
  • ASP如何访问linux下oracle数据库?
  • hpux下如何用c语言访问oracle数据库?
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • Linux/UNIX下,C++程序通过那些步骤访问Oracle或者Sybase SQL数据库?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 编程语言 iis7站长之家
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3