sql server怎样建立数据链路

山水无言 2011-05-31 12:42:40
我要在sql server2000的查询分析器里查询oracle的数据,怎样建立数据链路?
...全文
428 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kajaje 2011-06-10
  • 打赏
  • 举报
回复
链接服务器选项中有oracle数据库
pete熊 2011-06-02
  • 打赏
  • 举报
回复
学习了。。。。
LOSTCHARON 2011-05-31
  • 打赏
  • 举报
回复
受教了 原来是这样的 我又学了点东西
唐诗三百首 2011-05-31
  • 打赏
  • 举报
回复
共2个步骤:
1. 安装Oracle Client端,并于Net Manager中配置服务名,确保测试连接正常.
2. 查询分析器中:
sp_addlinkedserver '[LinkServer Name]', 'Oracle', 'MSDAORA', '[服务名]'

sp_addlinkedsrvlogin '[LinkServer Name]', 'false', 'sa', '[Oracle帐号]', '[密码]'

快溜 2011-05-31
  • 打赏
  • 举报
回复
在SQL SERVER 中访问ORACLE数据库服务器的几种方法
1.通过行集函数opendatasource
select * from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
其中,MSDAORA是OLEDB FOR ORACLE的驱动,
用户名和表名一定要大小,服务器和用户名之间是两个点;并且User ID和要查询的用户名必须是一样的,不能以其他用户名登陆

2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A
order by A.ID
使用这种方式一定要用别名才行

3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源

4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver', --链接服务器名称
@srvproduct='Oracle', --固定
@provider='MSDAORA', --固定
@datasrc='XST4' --oracle本地服务名

设置链接服务器的远程登陆数学,在安全性页面中选中“用此安全上下文进行”
山水无言 2011-05-31
  • 打赏
  • 举报
回复
太复杂了。在oracle建立数据库链路很方便的,有没有更简单的方法呢
Austindatabases 2011-05-31
  • 打赏
  • 举报
回复
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ORACLE', @srvproduct=N'oracle', @provider=N'SQLOLEDB', @datasrc=N'oracle'

GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'ORACLE', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
USE [master]
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ORACLE', @locallogin = NULL , @useself = N'False', @rmtuser = N'oracle', @rmtpassword = N'oracle'
GO


另外请在providers中打开 allow inprocess 否则oracle数据无法显示

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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