日期:2014-05-18  浏览次数:20667 次

求教把oracle上的视图读到sql server 中的 视图或者表中
小弟初学,现在接受一个项目,需要把客户服务器上oracle中的视图读到我们服务器sql server 2005 中的 视图或者表中。求教各位不胜感谢。

------解决方案--------------------
--引用子陌红尘[I'm 潇湘]
A.连接
创建链接服务器以访问 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 ' 
B.查询
select * from openquery(OrclDB, 'SELECT * FROM BASEMETADATA_DEPARTMENT')