Oracle端連SQL Server 數據庫的實際操作方案
文章介紹的是正確使用 Oracle 透明網關從Oracle 數據庫端連SQL Server 數據庫的實際操作方案,首先我們是從使用 Oracle 數據庫透明網關從Oracle 端連SQL Server 數據庫的Step1 安裝Oracle 透明網關開始的。
Condition: 連SQL Server 的網關的操作系統必須是window ,因為在網關上還必須得裝一個sql sever 的客戶端,用于監(jiān)聽SQL Server 服務器發(fā)來的消息。
安裝透明網關組件的軟件在Oracle 安裝盤里面,不需要另行下載。
安裝方法與步驟:
1.啟動安裝程序以后,選擇安裝類型為定制
2.選擇 Oracle transparent gateways for Miscrosoft SQL Server ,然后點擊下一步,裝完即可。
Step 2 安裝SQL Server 客戶端(這一步不再演示)
Step 3 配置透明網關與Oracle 服務器
1. 修改Oracle_HOME\tg4msql\admin下的inittg4msql.ora 文件,配置好參數
其中HS_FDS_CONNECT_INFO=jysc.msdb的jisc代表SQL Server 的服務名,msdb是需要連接的SQL Server 數據庫。
2 配置Oracle 服務器的listener
修改listener.ora 文件,添加以下參數,作用是使監(jiān)聽器能夠監(jiān)聽網關發(fā)過來的信息
- (SID_DESC =
- (PROGRAM = tg4msql)
- (Oracle_HOME = D:\OraHome_1)
- (SID_NAME = tg4msql)
- )
其中SID_NAME 可以自己取名。
3 配置網絡服務名tnsname
- LKSQL =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = xuchunyang)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SID = tg4msql)
- )
- (HS = OK)
- )
這里的HOST=xuchunyang ,xuchunyang 是透明網關服務器的服務器名,也可以是主機IP 地址 ,(SID = tg4msql) 的tg4msql不是固定名,需跟上面listener SID_NAME 一致。
一切配置都已經完畢,然后可以創(chuàng)建database link 去連接SQL Server 數據庫了
Step 4 創(chuàng)建database link
連上Oracle 數據庫,運行下面的語句,創(chuàng)建database link
- create database link LKTOSQL
- connect to XuChunYang identified by garyxu0120
- using 'LKSQL';
這里 using 'LKSQL'的LKSQL 是網絡服務名,跟開始配置的tns name 一致。
現在,我們就可以使用database link 去訪問SQL Server 數據庫的數據了。例如,運行
Select * from sysobjects@LKTOSQL where rownum <10
建立好鏈接后,使用trigger 可以使兩種不同數據庫之間的表數據同步。
二 使用SQL Server 鏈接服務器從SQL Server 連Oracle 數據庫
1.要求pc機上安裝oralce客戶端軟件和sqlserver軟件。
2.客戶端的配置tnsnames.ora文件,配置所要連接的數據庫服務器(windows,unix等平臺均可以)GARYXU =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.67)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = GARY)
- )
- )
3.配置windows的ODBC數據源:
開始菜單—》設置—》管理工具—》數據源(ODBC)—》進入配置用戶DSN或者系統DSN均可以:添加—》選擇Microsoft ODBC for Oracle —— 》自定義數據源名稱(最好跟tns中連接串同名?。?mdash;》服務器名稱(必填!填寫tns文件中的連接串名稱)—》完成。
4.配置sqlserver2000中的連接服務器:
企業(yè)管理器—》安全性—》連接服務器—》右鍵新建連接服務器—》定義連接名稱; 選其他數據源; 指定程序名稱為:Microsoft OLE DB
Provider for Oracle; 產品名稱可不填; 數據源指定剛才ODBC中定義好的數據源名稱; 提供程序字符串按以下格式填寫:
User =username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),這里的用戶名和密碼對應所要連接的Oracle數據庫中用戶名和密碼 —》 安全性標簽頁里:設置用此安全上下文進行,并錄入Oracle的數據庫用戶名和密碼—》服務器選項標簽頁可默認—》確定。
5.準備工作全部完成!在sqlserver企業(yè)管理器—》安全性—》連接服務器打開剛建好的連接服務器—》點擊表,即可在右邊窗口看到該Oracle數據庫用戶擁有的的所有表名,但在這里還并不能查看表的記錄,這個需要在sqserver的查詢分析器中用具體sql實現!訪問表時,使用格式為:
[連接服務器名]..[Oracle用戶].[表名]。更詳細具體的使用這里不再贅述。
同樣,建立好鏈接后,使用trigger 可以使兩種不同SQL Server 數據庫之間的表數據同步。
【編輯推薦】