`
wuhuizhong
  • 浏览: 684463 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

oracle链接MySQL

 
阅读更多

-- Drop existing database link 
drop public database link MYSQL_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM;
-- Create database link 
create public database link MYSQL_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM
  connect to MYSQL
  using '(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.11.98) (PORT =3306) )
    (CONNECT_DATA = (SID= test) )
    (HS=OK)
    )';

   1, 首先在Oracle所在计算机安装MySQL的Client端软件,并且x86_64和i386版本的都需要安装,以便可以连接MySQL数据库。查看Client安装情况:

    rpm -qa |grep mysql

    mysql-5.0.45-7.el5

    mysql-5.0.45-7.el5

    得到两条记录,一条是x86_64的,一条是i386的。

    如果看到还没有安装mysql客户端软件,则需要安装:

    yum install mysql

    yum install mysql.i386

    验证在此Oracle所在计算机是可以连接目标主机MySQL数据库:

    mysql -h 192.168.1.1 -u root -p mysql

    2, 检查Oracle所在计算机是否已安装MySQL ODBC客户端,并且x86_64和i386版本的都需要安装。

    rpm -qa |grep mysql-connect

    如果没有安装mysql-connector-odbc,则用下面命令下载和安装:

    下载 mysql-connector-odbc:

    wget ftp://mirror.switch.ch/pool/3/mirror/centos/5.2/os/i386/CentO S/mysql-connector-odbc-3.51.12-2.2.i386.rpm

    安装mysql-connector-odbc:

    rpm -ivh mysql-connector-odbc-3.51.12-2.2.i386.rpm

    得到提示 libltdl.so.3 is needed by mysql-connector-odbc-3.51.12-2.2.i386 ,发现需要安装libtool的i386版本,因此通过如下命令安装libtool-ltdl.i386:

    yum list *.i386|grep libtool

    yum install libtool-ltdl.i386

    3, 在Oracle所在计算机编辑/etc/odbc.ini文件,测试ODBC工作

    vi /etc/odbc.ini

    #odbc.ini内容如下

    [test]

    Driver=/usr/lib64/libmyodbc3.so

    Description=MySQL

    Server=192.168.1.1(MySQL Server IP)

    Port=3306

    User= (MySQL Username)

    UID= (MySQL Username)

    Password= (MySQL PWD)

    Database= (MySQL Database Name)

    Option=3

    Socket=

    在命令行中执行下列命令,应能够顺利登入MySQL Client窗口,即证明ODBC功能正常:

    isql -v test

    quit

    4, 编辑hs配置文件 vi /ora10g/hs/admin/inittest.ora(注意文件名中蓝色部分为odbc.ini中蓝色名称)

    HS_FDS_CONNECT_INFO = test

    HS_FDS_TRACE_LEVEL = on(正式使用后,不需要排错的时候应设为off)

    HS_FDS_TRACE_FILE_NAME = test.trc

    HS_FDS_SHAREABLE_NAME=/usr/lib/libmyodbc3.so

    set ODBCINI=/etc/odbc.ini

    5, 编辑Oracle所在计算机的Oracle listener的配置文件,建立一个模拟Oracle Listener的监听方式,为将来建立dblink做准备:

    vi /ora10g/network/admin/listener.ora 加入如下语句:

    (SID_DESC =

    (SID_NAME = test)

    (ORACLE_HOME = /ora10g)

    (PROGRAM = hsodbc)

    (ENVS=LD_LIBRARY_PATH=/ora10g/lib32:/usr/lib64:/ora10g/lib)

    )

    listener.ora文件现在的内容变成:

    SID_LIST_LISTENER = (

    SID_LIST =

    (SID_DESC =

    (ORACLE_HOME = /ora10g)

    (PROGRAM = extproc)

    (GLOBAL_DBNAME=prod)

    (SID_NAME=prod)

    )

    (SID_DESC =(SID_NAME = test)

    (ORACLE_HOME = /ora10g)

    (PROGRAM = hsodbc)

    (ENVS=LD_LIBRARY_PATH=/ora10g/lib32:/usr/lib64:/ora10g/lib)

    )

    )

    LISTENER = (

    DESCRIPTION_LIST =

    (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

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

    )

    执行lsnrctl reload使Listener生效:

    su – oracle

    lsnrctl reload

    LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-FEB-2009 13:59:38 Copyright (c) 1991, 2007, Oracle.

    All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

    The command completed successfully

    lsnrctl status

    LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 12-FEB-2009 08:56:00

    Copyright (c) 1991, 2007, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

    STATUS of the LISTENER

------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production

    Start Date                03-JAN-2009 03:47:39

    Uptime                    40 days 5 hr. 8 min. 20 sec

    Trace Level               off

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /ora10g/network/admin/listener.ora

    Listener Log File         /ora10g/network/log/listener.log

    Listening Endpoints Summary……

    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

    Services Summary……

    Service "PLSExtProc" has 1 instance(s)。

    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service……

    Service "test" has 1 instance(s)。

    Instance "test", status UNKNOWN, has 1 handler(s) for this service……

    The command completed successfully

    6, 编辑Oracle所在计算机中的tnsnames.ora文件,便于建立dblink.注意,此tnsnames的配置可以支持tnsping,但是不能支持sqlplus登录,只用于dblink:

    vi /ora10g/network/admin/tnsnames.ora

    test =

    (DESCRIPTION =

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

    (CONNECT_DATA =

    (SID = test)

    )

    (HS = OK))

    7, 在Oracle Database建立dblink:

    create public database link MYSQL

    connect to "mysql username" identified by "mysql pwd"

    using '(DESCRIPTION =

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

    (CONNECT_DATA = (SID= test) )

    (HS=OK)

    )';

    要注意用户名和密码处需要用双引号,否则Oracle所传输的都是大写字母,可能无法登录进入MySQL.

    8, 由于MySQL中的表名的大小写敏感,因此需要在进行SQL查询时对表名用双引号扩起来

 

    select * from "tablename"@test

分享到:
评论

相关推荐

    oracle连接MYSQL的库

    oracle连接MYSQL的库 http://www.oracle.com/technology/global/cn/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html orai18n.jar(1,646,178 字节)— 用于 JDK 1.2、1.3、1.4 和 1.5 的 NLS 类。该 jar ...

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    Linux下ORACLE 使用dblink连接mysql_lijilinjy的专栏-CSDN博客.mhtml

    数据库的连接篇(MySQL和Oracle)

    文档包含了Oracle数据库的连接,以及检测是否连接成功,还包含的MySQL数据库的连接及检测,这是基于初学者的学习使用

    linux_Oracle连接MySQL_V1.1.pdf

    linux_Oracle连接MySQL_V1.1.pdf

    记一次oracle通过dblink连接mysql实施

    Oracle数据库通过DBLink连接MySQL是一种常见的跨数据库交互方式,它允许Oracle数据库远程访问MySQL的数据,实现数据集成或数据迁移。本文记录了一次在Oracle 10g 64位环境中,通过DBLink连接到MySQL 5.5的过程,并在...

    Oracle连接MySQL.pdf

    本文件主要涉及Oracle数据库与MySQL数据库之间的连接问题,包括了Oracle与MySQL的安装配置、使用Heterogeneous Services连接、ODBC驱动配置及权限分配等知识点。 首先,涉及到的系统环境包括RedHatEnterpriseLinux...

    ORACLE透明网关访问mysql

    确保在授权时使用了正确的主机名`'B'`,这样Oracle在尝试连接MySQL时才能被正确识别。 接下来,在服务B上的操作涉及到使用Oracle的SQL*Plus工具,登录并确认Oracle是32位还是64位,以便下载正确的ODBC驱动和相应的...

    linux_Oracle连接MySQL_V1.1.docx

    根据提供的文档信息,本文将详细解析如何在Linux环境下配置Oracle与MySQL之间的连接,并涉及所需的软件包、系统配置以及具体的步骤。 ### 操作系统与数据库版本信息 - **操作系统**: Red Hat Enterprise Linux 5.3...

    oracle通过DBlink连接mysql搭建过程

    使用 DBlink 连接 Oracle 和 MySQL 数据库 Oracle 通过 DBlink 连接 MySQL 搭建过程是一个复杂的过程,需要安装和配置多个组件,包括 unixODBC、mysql-connector-odbc 和 Oracle 环境变量。本文将详细说明这个过程...

    oracle 和mysql数据库的连接池一起下载

    Oracle连接池可以有效地减少数据库的开销,通过复用已存在的数据库连接而不是每次请求时创建新的连接。当一个应用程序打开一个新的连接时,连接池会检查是否有可用的空闲连接,如果有,则直接返回,而无需进行实际的...

    oracle 到mysql转换工具

    1. 连接设置:用户需要输入Oracle和MySQL服务器的连接信息,包括主机名、端口、用户名和密码,确保能够成功访问两个数据库。 2. 选择表:用户可以选择要迁移的Oracle数据库中的特定表,或者全部表。工具会自动分析...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    可以同时连接Mysql和Oracle,直接将数据导入Oracle。也可以保存数据到Dump文件。 功能完善的错误处理机制。记录每一条有异常的数据。并提供工具重复执行。 全面优化数据库操作,让大数据量的处理更少等待。

    Oracle通过DBlink连接MySQL

    Oracle通过DBlink连接MySQL是一种常见的数据集成方式,它允许Oracle数据库与MySQL数据库之间进行通信,实现数据的交互和共享。以下将详细介绍整个配置过程。 **一、部署环境** 在进行配置之前,确保你的系统环境是...

    java连接oracle和mysql数据库的jar包

    Java连接MySQL数据库则通常需要mysql-connector-java.jar。这个JAR文件包含了MySQL Connector/J,这是MySQL官方提供的JDBC驱动。在Java程序中,我们同样会使用`Class.forName()`加载驱动,如`Class.forName(...

    连接mysql和oracle的连接池包

    本压缩包提供了连接MySQL和Oracle数据库的连接池组件,使得开发人员能够在同一应用中便捷地处理这两种不同的数据库系统。 1. **连接池的概念**: 连接池是一种数据库管理策略,它预先创建并维护一定数量的数据库...

    C#连接常用数据库(oracle,mysql).zip

    C#连接MySQL数据库,通常使用MySQL Connector/NET驱动。安装驱动后,我们可以创建`MySqlConnection`对象,设置连接字符串,然后打开连接。连接字符串包括服务器地址、数据库名、用户名和密码等。例如: ```csharp ...

    linux下oracle通过unixODBC连接MySQL

    linux下oracle通过unixODBC连接MySQL linux下oracle通过unixODBC连接MySQL

Global site tag (gtag.js) - Google Analytics