在 oracle 10g 中訪問 SQL Server

以前公司有Delphi + SQL Server的系统,后来新开发了一个系统9iAS + DB10G (有点类似于Oracle EBS),数据要用到SQL Server里的数据,然后我们在Oracle DB Server上配置了一下,可以直接从Oracle DB里访问SQL Server的表:

************************************************************

show parameter global_name

alter system set global_names=false;


如果global_nameflase的情況下,如下步驟:
1.
配置listener
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME =sid1)
      (ORACLE_HOME = D:/oracle/ora10g)
      (SID_NAME = sid1)
    )
    (SID_DESC =
      (PROGRAM =
hsodbc)
      (SID_NAME = SQL Server_SID)
      (ORACLE_HOME = d:/oracle/ora10g)

    )
  )

LISTENER =

/* 

 (DESCRIPTION =

     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

   )

*/有可能要這段
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

注意紅色的與藍色的地方;

2.
配置tnsnames.ora:
增加如下的一個tnsname:
test01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = SQL Server_SID)
    )
   
(HS = OK)
  )
注意紅色的地方;

3.
增加初始化文件:
%oracle_home%/hs/admin/,創建一個以init<SQL Server_SID>.ora文件,內容如下:
如果global_nametrue的情況下要加以下兩句:

HS_DB_NAME = =SQL Server_name

HS_DB_DOMAIN =域名

否則隻要以下兩句:

HS_FDS_CONNECT_INFO=SQL Server_SID
HS_FDS_TRACE_LEVEL=OFF

4.
重新啟動listener

5.create public database link link_name connect to user identified by ****** using 'test01';

6.
這樣就可以了。

說明:
(1). SQL Server_SID
為創建的訪問SQL Serverodbc的名稱;
(2). listener
中的program為什麼要用hsodbc,還沒有分析出來;
(3).
其他的與9i的基本上沒有什麼區別

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值