创建链接服务器以访问 Oracle 数据库实例 :1、确保运行 SQL Server 的服务器上的 Oracle 客户端软件已达到提供程序所要求的级别。用于 Oracle 的 Microsoft OLE DB 提供程序要求 Oracle 客户端软件支持文件的版本为 7.3.3.4.0 或更高版本,并且 SQL*Net 的版本为 2.3.3.0.4。
2、在运行 SQL Server 的服务器上创建指向 Oracle 数据库实例的 SQL*Net 别名。有关更多信息,请参见 Oracle 文档。
3、执行 sp_addlinkedserver 创建链接服务器,指定 MSDAORA 为 provider_name,指定用于 Oracle 数据库实例的 SQL*Net 别名为 data_ source。
以下示例假设已将一个 SQL*Net 别名定义为 OracleDB。
sp_addlinkedserver 'OrclDB', 'Oracle', 'MSDAORA', 'OracleDB'
4、使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射。
以下示例通过 Oracle 登录名 OrclUsr 和密码 OrclPwd 将 SQL Server 登录 Joe 映射到步骤 3 中定义的链接服务器:
sp_addlinkedsrvlogin 'OrclDB', false, 'Joe', 'OrclUsr', 'OrclPwd'
2、在运行 SQL Server 的服务器上创建指向 Oracle 数据库实例的 SQL*Net 别名。有关更多信息,请参见 Oracle 文档。
3、执行 sp_addlinkedserver 创建链接服务器,指定 MSDAORA 为 provider_name,指定用于 Oracle 数据库实例的 SQL*Net 别名为 data_ source。
以下示例假设已将一个 SQL*Net 别名定义为 OracleDB。
sp_addlinkedserver 'OrclDB', 'Oracle', 'MSDAORA', 'OracleDB'
4、使用 sp_addlinkedsrvlogin 创建从 SQL Server 登录到 Oracle 登录的登录映射。
以下示例通过 Oracle 登录名 OrclUsr 和密码 OrclPwd 将 SQL Server 登录 Joe 映射到步骤 3 中定义的链接服务器:
sp_addlinkedsrvlogin 'OrclDB', false, 'Joe', 'OrclUsr', 'OrclPwd'
执行 sp_addlinkedserver 创建链接服务器,指定 MSDAORA 为 provider_name,指定用于 Oracle 数据库实例的 SQL*Net 别名为 data_ source。
是什么意思
OLE DB提供程序‘MSDAORA’报错
什么问题?
if exists (select 1 from master..sysservers where srvname = 'ln_Oracle')
exec sp_dropserver 'ln_Oracle', 'droplogins'--添加连接服务器
exec sp_addlinkedserver @server = 'ln_Oracle', --所创建连接服务器的名称
@srvproduct = '',
@provider = 'MSDAORA',
@datasrc = 'myDB' --连接的 Oracle 数据库称--添加连接服务器登录
exec sp_addlinkedsrvlogin @rmtsrvname = N'ln_Oracle', --所创建连接服务器的名
@useself = false,
@locallogin = null,
@rmtuser = N'myUser', --登录用户
@rmtpassword = N'myPWD' --登录密码--查询 Oracle 中的数据
select * from ln_Oracle..ARIES.STUDENTS --注意这里用户名和表名要大写
没遇到过,不知具体原因,查到以下帮助(未深究,不知对你有否帮助):
若要启用用于 Oracle 的 OLE DB 提供程序以与 Oracle 客户端软件一起使用,必须从命令行运行注册表文件以修改客户端的注册表。不应同时运行客户端软件的多个实例。这些文件都列在下表中并位于同一目录结构中,而该目录结构包含通常在 C:\Program Files\Common Files\System Files\OLE DB 中的 Microsoft 数据访问组件 (MDAC) 安装。
OLE DB 提供程序 'MSDAORA' 报错。
[OLE/DB provider returned message: ORA-12154: TNS: 无法处理服务名
]
这是怎么回事?