2014-10-03 51 views
1

是否可以執行連接MySQL數據庫表和Oracle數據庫表的查詢?如何將MySQL數據庫鏈接到Oracle DB

我以前在MS SQL Server上工作過,並且我在SQL Server實例內部連接了外部數據庫服務器,以創建集成不同數據庫表的過程和視圖。

在MySQL或Oracle DBMS上有類似的東西嗎?

回答

0

據我所知,DG4ODBC允許你將來自Oracle數據庫的MySQL ODBC驅動程序連接到MySQL數據庫。

由於您沒有提及操作系統的詳細信息,我建議您查看您的特定操作系統的My Oracle Support(MOS)筆記。你可以尋找Oracle Database Gateway for ODBC。這是鏈接到文檔http://docs.oracle.com/cd/B28359_01/gateways.111/b31042/toc.htm

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_HOME for Oracle,以便找到自己的管理,就像錯誤消息....這是包含這些指針的文件。

玩得開心!