- 一、安裝透明網關以及mysql odbc
-
- 1.1、下載下傳oracle 透明網關
- 1.2、按照預設安裝透明網關
- 1.3 下載下傳安裝mysql odbc驅動
- 二 配置mysql資料源
- 三 配置透明網關
-
- 3.1配置 initdg4odbc.ora
- 3.2 配置 listener.ora
- 3.3 配置tnsnames.ora
- 四 重新開機監聽以及測試監聽配置
- 五、建立dblink 通路資料庫
一、安裝透明網關以及mysql odbc
1.1、下載下傳oracle 透明網關
oracle 11g windows 64 位下載下傳位址
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.h

1.2、按照預設安裝透明網關
按照路徑最好與oracle_home路徑保持一緻
按照後測試
dos視窗輸入
dg4odbc
看到以上資訊表示安裝成功。
1.3 下載下傳安裝mysql odbc驅動
下載下傳位址;
https://dev.mysql.com/downloads/connector/odbc/
二 配置mysql資料源
記住配置的資料源名稱為mysql。
測試連接配接
測試成功後儲存即可。
三 配置透明網關
3.1配置 initdg4odbc.ora
進入oracle_home 目錄下找到hs\admin目錄中initdg4odbc.ora檔案并複制一份。
然後修改複制檔案。把檔案名稱改為init+剛剛配置資料源名稱(本執行個體為mysql).ora
修改initmysql.ora内容
HS_FDS_CONNECT_INFO =mysql
HS_FDS_TRACE_LEVEL =on
HS_FDS_TRACE_LEVEL =on 這裡最好設定on 網上一般将都是設定為off,為了檢視錯誤日志,最後改為on。
3.2 配置 listener.ora
進入oracle_home/NETWORK\ADMIN 目錄下,先備份listener.ora
并在listener.ora加入下面内容
(SID_DESC =
(SID_NAME =mysql)
(ORACLE_HOME = D:\software\oracle11\product\11.2.0\dbhome_1)
(PROGRAM =dg4odbc)
)
這裡 SID_NAME 就是執行個體名稱,也就是我們配置的mysql資料源名稱,需要注意的是 PROGRAM ,Oracle11g這裡一定要配置為dg4odbc。 不能是hsodbc 我就是修改為後面兩種結果找了一下午的錯誤。ORA-28545: 連接配接代理時 Net8 診斷到錯誤
3.3 配置tnsnames.ora
進入用戶端tns_admin 路徑下在tnsnames.ora中添加
mysql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME= mysql)
)
(HS = OK)
)
四 重新開機監聽以及測試監聽配置
lsnrctl stop
lsnrctl start
tnsping mysql
看到監聽配置成功
五、建立dblink 通路資料庫
用sys使用者在sqlplus登入
create database link mysql connect to "root" identified by "root" using 'mysql';
注意這裡 使用者名和密碼 一定要加雙引号,不然會被認為是大寫。
測試連接配接
我們在mysql bi庫中有一個表使sys_user. 資料如下
通過sqlplus 通路 sys_user 表
select "login_name","nick_name" from [email protected];
注意,查詢按字段擷取時需要加上雙引号,不然會提示字段不存在。
我們再插入一條資料進行測試
insert into [email protected]("id","login_name","nick_name") VALUES(2,'from_oracle','資料來自oralce資料庫');
還需要注意的是由于mysql是會區分大小寫,這裡的id是小寫。資料插入後
我們再回到mysql 資料中進行查詢
能正常查詢到剛剛從oracle資料庫插入的資料。