在線等﹐如何用SQL訪問oracle數據

xzx760815 2006-05-25 04:17:05
沒有安裝oracle﹐只安裝了win2002,SqlServer2000,能否直接訪問oracle
...全文
269 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2006-06-01
  • 打赏
  • 举报
回复
1、在SQL Server 服务器上安装对应版本的Oracle客户端;
2、配置监听程序;
3、配置服务名;
4、创建链接服务器;
5、配置完链接服务器后,可以使用OpenQuery()来访问Oracle。

select * from Openquery(链接服务器名,'select * from system.表名')

insert into Openquery(链接服务器名,'select * from system.表名') (字段列表)
select 字段列表
from SQLServer中的表名

--这里的System是指Oracle中表的所有者

delete Openquery(链结服务器名,'select * from system.表名')
where ...
zjcxc 2006-06-01
  • 打赏
  • 举报
回复
至少要装oracle客户端
OracleRoob 2006-06-01
  • 打赏
  • 举报
回复
--这里的System是指Oracle中表的所有者

select * from Openquery(链接服务器名,'select * from system.表名')

insert into Openquery(链接服务器名,'select * from system.表名') (字段列表)
select 字段列表
from SQLServer中的表名

delete Openquery(链结服务器名,'select * from system.表名')
where ...
OracleRoob 2006-06-01
  • 打赏
  • 举报
回复
配置完链接服务器后,可以使用OpenQuery()来访问Oracle。
子陌红尘 2006-05-25
  • 打赏
  • 举报
回复
安装Oracle客户端程序并配置TNSNAME.ORA。

然后创建Oracle链接服务器:

1、创建链接服务器以访问 Oracle 数据库实例
确保运行 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'

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧