ITPub博客

首页 > 数据库 > Oracle > oracle和sqlserver互访(1)

oracle和sqlserver互访(1)

原创 Oracle 作者:jss001 时间:2009-02-26 19:17:17 0 删除 编辑
要求:從Oracle中能取SqlServer的數据
環境:
OracleDb: Linux + Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production IP:192.168.1.52(TOPPROD)
MSQLDB: Windows2000 + SqlServer2000 IP:192.168.1.50(ERPSQL),測試用戶:sa/pass 測試數据表:EK.ACPTA
网 關: WindowsXp + Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production IP:192.168.1.221(S0504027),因為暫在測試階段,所以网關裝在我用的机器,网關可以裝在MSQLDB上

1.通過ODBC通用方式聯接
代码:

// A. 安裝HS部件

// 默認情況下HS部件是安裝的,查詢視圖 SYS.HS_BASE_CAPS 可得出有沒有安裝此部件!

// B. 配置ODBC

// 在"系統DNS"中配置"ODBC FOR SQLSERVER",例如:[ERPSQL]

// C. 配置TNSNAMES.ORA,路徑:ORACLE_HOMENETWORKADMIN,這一步應該在ORACLEDB(192.168.1.52)上配置!
Lnk2sql = # tnsName

(DESCRIPTION =

(
ADDRESS_LIST =

(
ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521)) # 网關IP

)

(
CONNECT_DATA =

(
SID = hs4sql) #SID,要和監听器裡的SID一致!

)

(
HS=OK)// D. 配置listener.ora,路徑:ORACLE_HOMENETWORKADMINLISTENER =

(
DESCRIPTION_LIST =

(
DESCRIPTION =

(
ADDRESS_LIST =

(
ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)

(
ADDRESS_LIST =

(
ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))

)

)

)

SID_LIST_LISTENER =

(
SID_LIST =

(
SID_DESC = # 這一段為加入的

(SID_NAME = hs4sql)

(
ORACLE_HOME = D:oracleora9i)

(
PROGRAM = hsodbc) # 要使用的HS服務程序.

)

)
// E. 重啟監听器服務

// F. 編輯ORACLE_HOMEHSADMIN內init.ora,這裡是iniths4sql.ora,因為上面的SID=hs4sql
HS_FDS_CONNECT_INFO = ERPSQL # B中設置的ODBC名稱HS_FDS_TRACE_LEVEL = 0// G. 創建DB LINK,以及測試SQL> create database link ora2sql connect to "sa" identified by "pass" using 'Lnk2sql';

Database link created



SQL
> select ta001,ta002 from acpta@ora2sql where rownum<5;

TA001 TA002----- -----------S710 20020306001

S710 20020315001

S710 20020325001

S710 20020326001
------------

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18921899/viewspace-1017080/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle安装patch
请登录后发表评论 登录
全部评论
  • 博文量
    306
  • 访问量
    871791