不同資料庫平台的互連一般稱之為資料庫的異構服務,現在各大資料庫之間都可以實現這樣的異構互連,只是各廠商的具體實現技術不一樣,如:在SQL SERVER裡面叫做LINKED SERVER,通過ODBC實現與其它資料庫的互聯。
而Oracle實現異構服務的技術叫做透明網關(Transparent Gateway),當然之前ORACLE還採用過通用串連技術。目前ORACLE利用透明網關可以實現和SQL SERVER、SYBASE、DB2等多種資料庫的互聯。
透明網關的體繫結構也很簡單,在ORACLE和SQL SERVER之間使用ORACLE透明閘道伺服器實現互連互連,其中透明閘道伺服器可以與ORACLE或SQL SERVER資料庫在同一台主機上,也可以是在獨立的一台主機上。
下面是具體步驟:
1、在SQL SERVER資料庫上建立測試帳號和表
這裡我用的是10.16.74.140的PUBS資料庫,帳號cyx,
create table t (c char(10));
2、我測試所用資料庫和透明網關是在同一台機器上,在我本機:10.16.98.16,透明網關在oracle預設安裝時是不安裝的,所以如果你想用需要選擇這一選項。
3、安裝透明網關for sql server的軟體後,可以在$ORACLE_HOME下看到tg4msql目錄,編輯$ORACLE_HOME/tg4msql/admin/inittg4msql.sql檔案確認這一行正確:
HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs"
4、修改透明網關server上的listener.ora,在SID_LIST中加入以下內容:
(SID_NAME = tg4msql) # SID自己命名
(ORACLE_HOME = c )
(PROGRAM = tg4msql)
5、在oracle server上的tnsnames.ora中加入到透明網關的tnsname,內容如下:
sql2k =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.98.16)(PORT = 1521)) #此處HOST填的是透明網關SERVER的地址
)
(CONNECT_DATA = (SID = tg4msql) ) #此SID應和透明網關SERVER上設定的SID相同
(HS=OK)
)
| 【內容導航】 |
| 第1頁:Oracle與SQLServer的實現互連 |
第2頁:Oracle與SQLServer的實現互連 |
| 第3頁:Oracle與SQLServer的實現互連 |
|