Oracle通過dblink直接訪問Sqlserver

分類:編程 時間:2017-03-30

Oracle通過dblink直接訪問Sqlserver

需求:通過在oracle創建dblink的方式直接訪問Sqlserver數據庫
操作方式:利用Oracle組件,透明網關(Transparent Gateway),建立dblink ,訪問SQL SERVER 1.首先在官網上先下載個透明網關。網址(11g): http://www.oracle.com/techNetwork/database/enterprise-edition/downloads/index.html

2.將gateway安裝在Oracle相同的目錄下: [透明網關目錄:D:\app\HIS_LK\product\11.2.0\tg_1\] [Oracle目錄:D:\app\HIS_LK\product\11.2.0\dbhome_1] 安裝完Gateway軟件後,在ORACLE_HOME目錄下有一下dg4msql的目錄, 在dg4msql/admin目錄下有一個initdg4msql.ora的文件,修改首行: HS_FDS_CONNECT_INFO=192.168.0.164:1433//MSSQLSERVER/A (修改內容為Sqlserver的服務器IP,實例,數據庫名)
3.修改Oracle監聽文件 編輯%ORACLE_HOME%\network\admin\listener.ora 文件分成兩部分:SID_LIST_LISTENER和LISTENER SID_LIST_LISTENER為監聽SID的清單,LISTENER為監聽主機的信息(IP地址和端口號的設定) -------------------------------------------------------------------- LISTENER = (ADDRESS_LIST= (ADDRESS(PROTOCOL=TCP)(HOST=PC201503031320)(PORT=1521)) (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)) ) --添加gateway的監聽 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = dg4msql) (ORACLE_HOME = D:\app\oracle\product\11.2.0\dbhome_1) --gateway安裝路徑 (PROGRAM = dg4msql) ----此處PROGRAM對應TNSNAMES中的dg4msql ) ) -------------------------------------------------------- 配置完以上,重新啟動監聽應該可以看到相應的服務名,在cmd裏面輸入:lsnrctl status
4.配置TNS文件 修改Oracle主目錄下network\admin目錄下的tnsnames.ora dg4msql = ---同上對應 (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.190)(PORT=1521)) (CONNECT_DATA=http://www.bitscn.com/pdb/oracle/201703/(SID=dg4msql)) (HS=OK) ) 配置tns文件,在命令行窗口執行tnsping dg4msql測試是否連通
5. 創建dblink create database link dg4msql connect to "sa" identified by "Ugsg1234" using 'dg4msql' ;
在Oracle中,直接查詢Sqlserver中的表即可: select * from DIM_GHKS@dg4msql;
以上,可以實現在Oracle中直接訪問Sqlserver數據庫,但是表字段類型不兼容的情況下,還是會顯示亂碼,如果要直接操作數據交換,需要考慮字段類型兼容轉換問題。
Tags: 數據庫操作 Gateway network gateway product

文章來源:


ads
ads

相關文章
ads

相關文章

ad