如何将MySQL DB链接到Oracle DB

时间:2014-10-03 09:33:24

标签: mysql oracle dblink

是否可以执行加入MySQL DB表和Oracle DB表的查询?

我之前曾在MS SQL Server上工作,并且我在SQL Server实例中链接了外部数据库服务器,以创建集成不同数据库表的过程和视图。

在MySQL或Oracle DBMS上有类似的东西吗?

2 个答案:

答案 0 :(得分:0)

据我所知,DG4ODBC允许您将MySQL ODBC驱动程序从Oracle数据库连接到MySQL数据库。

由于您未提及操作系统详细信息,我建议您查看针对特定操作系统的My Oracle Support( MOS )说明。您可以查找Oracle Database Gateway for ODBC。以下是文档http://docs.oracle.com/cd/B28359_01/gateways.111/b31042/toc.htm的链接。

答案 1 :(得分:0)

是的,你可以。 为此,您将dg4odbc(假设oracle> = v11)与unixODBC一起用作odbc驱动程序管理器,将freeTDS用作SQLServer的odbc驱动程序。

您所做的是在listener.ora中创建一个类似于

的侦听器条目
   (SID_DESC =
       (SID_NAME=yourdb)
       (ORACLE_HOME=/u01/app/oracle/product/11.2.0.3/dbhome_1 )
       (PROGRAM = dg4odbc)
       (ENVS = "LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.3/dbhome_1/lib:/usr/local/freetds/lib")
   )

创建一个tns别名,指向这个特殊的SID - yourdb - 它将作为SQLServer的网关。

your_tns_alias =

        (DESCRIPTION =
        (ADDRESS_LIST=
        (ADDRESS =(COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = your.db.server)
        (Port = 1521)
        )
        )
        (CONNECT_DATA =
        (SID = yourdb)
        )
        (HS=ok)
)

介意hs = ok条目,这告诉我们必须使用网关。

在$ ORACLE_HOME / hs / admin中创建一个名为inityourdb.ora的文件,其中包含网关的配置。

HS_FDS_CONNECT_INFO = yourdsn
HS_DB_NAME = yourdsn
HS_FDS_SUPPORT_STATISTICS = FALSE
HS_FDS_SHAREABLE_NAME=/usr/local/unixODBC/lib/libodbc.so
#HS_FDS_TRACE_LEVEL=debug
HS_FDS_TRACE_LEVEL=off
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P15

这是Oracle rdbms环境和ODBC之间的接口。指定的是驱动程序管理器,DSN,这里也可以是一些调整参数。 DSN与常规ODBC管理一样。一些驱动程序需要自己的特殊参数,类似于Oracle的ORACLE_HOME,以便找到自己的管理,如错误消息....这是包含这些指针的文件。

玩得开心!