Oracle配置透明閘道連接MS SQL資料庫

来源:互联网 发布:金州勇士 知乎 编辑:程序博客网 时间:2024/05/16 10:02

不同資料庫平臺的互連一般稱之為資料庫的異構服務,現在各大資料庫之間都可以實現這樣的異構互連,只是各廠商的具體實現技術不一樣,如:在SQL SERVER裏面叫LINKED SERVER,通過ODBC實現與其他資料庫的互聯。 而ORACLE實現異構服務的技術叫做透明閘道(Transparent Gateway),當然之前ORACLE還採用過通用連接技術。目前ORACLE利用透明閘道可以實現和SQL SERVER、SYBASE、DB2等多種資料庫的互聯。

備註:
Oracle For SQL Server的透明閘道在UNIX下無法實現,目前只支持WIN; 原因很簡單,SQL Server本身不支援UNIX,所以Oracle也無法直接在UNIX下訪問SQL Server。目的:Oracle資料庫訪問MS SQL資料庫

平臺搭建:

用戶端:Windows2003 +Oracle 9.2.0.1資料庫

伺服器端:windows2003+MS SQL2000 dbname:longsms han/123

測試步驟:

1.下載透明閘道軟體(10201_gateways_win32.zip),因透明閘道並非默認安裝

2.解壓後安裝,只要選擇for MS SQL元件即可

方法一:使用tg4msql

安裝成功後,在Oracle目錄(安裝目錄F:oracleproduct10.2.0db_1)會生成tg4msql檔夾,

(1)建立longsms資料庫在Oracle下的別名longsms:進入%ORACLE_HOME%tg4msqladmin目錄建立檔initlongsms.ora,裏面內容如下
HS_FDS_CONNECT_INFO="SERVER=192.168.1.134.longsms"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
(2)建立listener:進入%ORACLE_HOME%networkadmin修改listener.ora檔增加:
(SID_DESC =
(SID_NAME = longsms) ###注意:要與前面建的檔案名字initlongsms去掉init後一樣.
(ORACLE_HOME = F:oracleproductt10.2.0db_1)
(PROGRAM = tg4msql)
)
(3)建立tnsnames.ora:
與(2)相同目錄下修改tnsnames.ora檔增加一個TNSNAME:
LONGSMS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
)
(CONNECT_DATA =
(SID = longsms)
)
(HS = OK)
)
(4)sqlplus測試:
創建資料庫連接:
sql>create database link sqlLink connect to han identified by "123" using 'longsms';
sql>select * from mobile@sqlLink

方法二:使用hsodbc進行連接
(1)配置連接MS SQL的ODBC連接
(2)在%ORACLE_HOME%HSADMIN目錄建立檔initlongsms.ora,裏面內容如下
HS_FDS_CONNECT_INFO = longsms
HS_FDS_TRACE_LEVEL = OFF

(3)建立listener:
進入%ORACLE_HOME%networkadmin修改listener.ora檔增加:
(SID_DESC =
(SID_NAME = longsms) ###注意:要與前面建的檔案名字initlongsms去掉init後一樣.
(ORACLE_HOME = F:oracleproduct10.2.0db_1)
(PROGRAM = hsodbc)
)
(3)建立tnsnames.ora:
與(2)相同目錄下修改tnsnames.ora檔增加一個TNSNAME:
longsms =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.123)(PORT = 1521))
(CONNECT_DATA =
(SID = longsms))
(HS = OK)
)
(4)sqlplus測試:
創建資料庫連接:
sql>create database link sqlLink connect to han identified by "123" using 'longsms';
sql>select * from mobile@sqlLink

原创粉丝点击