您的位置:首页 > 数据库 > Oracle

在 oracle 10g 中訪問 SQL Server

2011-01-19 16:39 274 查看
以前公司有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_name為flase的情況下,如下步驟:
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_name為true的情況下要加以下兩句:
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 Server的odbc的名稱;
(2). listener中的program為什麼要用hsodbc,還沒有分析出來;
(3).其他的與9i的基本上沒有什麼區別
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: