oracle9i透明閘道器到sqlserver的配置

fengzhengsheng發表於2009-02-10
oracle9i透明閘道器的配置[@more@]

oracle9.2 裝在winxp上,機器名是fzs,sql server2000裝在win2000上機器名是microsof-36cb1d
sql server 2000內有資料庫名kms,kms裡面有表atptype,使用者名稱:userkms 密碼:qwerty
(注意這是kms庫的使用者名稱密碼,而不是oracle的)。把fzs和microsof-36cb1d連成區域網。
透明閘道器(Transparent Gateway)可以和oracle裝在同一臺機器上,也可不是同一臺機器上,我選擇的是安裝在同一臺機器上。


一、安裝透明閘道器
執行oracle9.2安裝軟體(既是我安裝oracle資料庫的同一版本)在“安裝型別”頁面選擇“自定義”安裝。

系統提示配置,這裡的sql server就是你安裝sql server2000的機器名(我的是microsof-36cb1d),sql資料庫就是你的sql server資料庫名稱(我的是kms),當然你這裡也可以都不填寫內容,安裝完成後還可以再配置。
(注意要在oracle伺服器上進行hosts檔案的修改,將microsof-36cb1d和其ip地址的對應對映一下)

透明閘道器安裝結束後,你可以在oracle_home的目錄下看的tg4msql個資料夾,裡面有admininittg4msql.ora這個檔案,在下一步我們將用到,這就標誌著你透明閘道器安裝結束。


二、配置透明閘道器
1.在listener.ora裡面增加(當然這也可以在圖形使用者介面操作 Net Manager)我是為讓大家看著方便:
(SID_DESC =
(PROGRAM = tg4msql)--必須這樣寫
(GLOBAL_DBNAME = feng)--可以隨便取名
(ORACLE_HOME = d:oracleora92)--我的oracle_home
(SID_NAME = feng)--服務名在inittg4msql處會用到,兩個名稱要相同
)


2:
在tg4msqladmin裡面把inittg4msql.ora copy一份重新命名為initfeng.ora(feng就是上步配置的SID_NAME)

# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server

#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=microsof-36cb1d;DATABASE=kms"
HS_FDS_CONNECT_INFO=microsof-36cb1d.kms--這項是我自己加的開始我沒有加時老是報ORA-28500的錯,後來加上就好了,然後我再把它去掉也不報ORA-28500的錯了,不知道為什麼。
HS_FDS_TRACE_LEVEL=DEBUG
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
3.
在tnsnames.ora裡面增加下面:

SQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = fzs)(PORT = 1521))--(fzs在環境裡面我也有說明)
)
(CONNECT_DATA =
(SERVICE_NAME = feng)--和1的SID_NAME 要相同
)
(HS = OK)--一定要加的,注意位置

)
4.重新啟動偵聽服務
5.建立batabase link
SQL> create public database link sql
2 connect to userkms identified by qwerty --qwerty我在環境裡面也有說明
3 using 'SQL';--和3的名稱一樣

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18976069/viewspace-1017149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章