- 确保运行 SQL Server 的服务器上的 Oracle 客户端软件已达到提供程序所要求的级别。用于 Oracle 的 Microsoft OLE DB 提供程序要求 Oracle 客户端软件支持文件的版本为 7.3.3.4.0 或更高版本,并且 SQL*Net 的版本为 2.3.3.0.4。
- 在运行 SQL Server 的服务器上创建指向 Oracle 数据库实例的 SQL*Net 别名。有关更多信息,请参见 Oracle 文档。
- 执行 sp_addlinkedserver 创建链接服务器,指定 MSDAORA 为 provider_name,指定用于 Oracle 数据库实例的 SQL*Net 别名为 data_ source。
以下示例假设已将一个 SQL*Net 别名定义为 OracleDB。
sp_addlinkedserver 'OrclDB', 'Oracle', 'MSDAORA', 'OracleDB'
- 使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射。
以下示例通过 Oracle 登录名 OrclUsr 和密码 OrclPwd 将 SQL Server 登录 Joe 映射到步骤 3 中定义的链接服务器:
sp_addlinkedsrvlogin 'OrclDB', false, 'Joe', 'OrclUsr', 'OrclPwd'
每个 Oracle 数据库实例仅有一个名称为空的目录。Oracle 链接服务器中的表必须使用四部分名称格式 OracleLinkedServerName..OwnerUserName.TableName 进行引用。例如,以下 SELECT 语句引用 Oracle 用户 MARY 在 OrclDB 链接服务器映射的服务器上所拥有的表 SALES。
SELECT *
FROM OrclDB..MARY.SALES
注意需要 修改 注册表 :对于win2k/oracle 8i ,修改的内容为:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI]
"OracleXaLib"="oraclient8.dll"
"OracleSqlLib"="orasql8.dll"
"OracleOciLib"="oci.dll"
其它事项:启动mstdc服务