Oracle EBS技术爱好者论坛:[ www.techwind.net ] Oracle EBS MSN 交流群 :group199946@msnzone.cn 欢迎加入! 朋友的原单外贸鞋店(做技术的,大多都厚道): http://shoe1314.totaobao.com/

在 oracle 10g 中訪問 SQL Server

上一篇 / 下一篇  2008-03-28 17:06:53 / 个人分类:Database

以前公司有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的基本上沒有什麼區別


TAG: oracle Server server SQL sql

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar