oracle通過dblink連接mysql配置詳解(全Windows下)


關於oracle通過dblink連接mysql,經過了兩周的空閑時間研究學習,終於配置好了,真是不容易啊,仔細想想的話,其實也沒花多長時間,就是剛開始走了一段彎路,所以把這次的經驗分享出來,讓大家少走些彎路,OK,閑話不多說了,開始配置旅程: 
一:環境檢查: 
數據庫:安裝oracle11g 64位,安裝mysql 5.6 64位,Windows7系統;

安裝數據源驅動(ODBC) 64位,Windows7系統;

數據源下載地址:http://pan.baidu.com/s/1dFeGUDr(我的百度雲盤內); 
接下來需要檢查的是否安裝了oracle透明網關,如下圖所示: 

 

 

二:檢查之后沒問題開始安裝: 
(1)在開始菜單中搜索ODBC:

 

 

打開后選擇系統DSN:

 

 

 
選擇第一個就可以了

 

 

 

 

配置完成后點擊完成就可以了,這樣Mysql的ODBC就已經有了

(2)接下來進行oracle透明網關配置:

找到你的oracle的安裝目錄的initdg4odbc.ora文件(我安裝在E盤):

E:\app\Administrator\product\11.2.0\dbhome_1\hs\admin(這是我 
安裝在E盤下面),然后復制一份,命名規則是:init+sid.ora,所以就是initmysqlodbc.ora;

然后打開initmysqlodbc.ora文件,添加如下內容:

HS_FDS_CONNECT_INFO = mysqlodbc 說明:和mysql的odbc保持一致 
HS_FDS_TRACE_LEVEL = off 說明:需要調試時可以改為debug,調試完成改為off;

然后打開E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 的listener.ora文件:

# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) ***(SID_DESC = (SID_NAME = MYSQLODBC) (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = dg4odbc) )*** ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) ADR_BASE_LISTENER = E:\app\Administrator 

帶星號字體為配置部分;。。。!!!粘貼時要注意,括號上和上邊下邊的對齊,否則啟動監聽報錯。。。!!!

然后重啟監服務,可以在service.msc里重啟,也可以使用命令lsnrctl stop ,lsnrctl start;

接下來打開tnsnames.ora(跟監聽配置文件在同一個目錄下)

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) **MYSQLODBC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = mysqlodbc) ) (HS = OK) )**

帶星號字體為新添加的配置(mysqlodbc),保存;

最后用oracle連接工具創建dblink:

create database link mysqlodbc connect to "root" identified by "123456" using 'mysqlodbc';--注意使用單引號
  • 1
  • 1

測試一下是否能夠連接,提示連接成功說明能夠訪問mysql; 

 

 

為了進一步驗證,我這里還做了新增數據的測試(不要忘記點擊提交按鈕,不然在mysql客戶端無法查到數據):

 

 

然后再次查詢,能查得到: 

 

 

接着我再到mysql去查詢,也能查到: 

 

 

到這里已經將所有的配置完成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM