sql server怎样建立数据链路

山水无言 2011-05-31 12:42:40
我要在sql server2000的查询分析器里查询oracle的数据,怎样建立数据链路?
...全文
448 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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数据无法显示
网络程序库 1、你是SQL Server 数据库服务器的管理员。一台服务器名为SQL7,另一台叫SQL2000,在SQL7 上运行SQL Server 7.0,在SQL2000上运行着SQL Server 2000。SQL2000的网络库配置如下所示:(原题不完整) SQL7的网络库有命名管道、TCP/IP、NWLink IPX/SPX以及多协议网络库。SQL2000与SQL7之间交换机密的公司信息。你需要确保未授权的用户不能访问这些信息。 你将采用下面哪两个措施? A. 在SQL2000上,启用多协议网络库(用于与以前的版本兼容) B. 在SQL2000上,选择“强制协议加密”复选框 C. 在SQL7上,选择“强制协议加密”复选框 D. 在SQL2000上,安装安全套接字层(SSL)加密协议 E. 在SQL2000和SQL7上,启用多协议加密 答案:A,E 参考TESTKING 070-228 NO.19 2、你是一台Windows 2000服务器的管理员。你准备在这台机器上安装SQL Server 2000。公司有许多客户机使用各自的网络库将要连接到服务器上,这些客户机如下表所示: 你需要允许客户机能够连接到SQL Server 2000服务器上,且同时希望对客户机配置的修改次数减到最少。你需要采用下面哪三个操作? A. 将SQL Server 2000安装为命名实例 B. 将SQL Server 2000安装为默认实例 C. 配置新的实例使用混合模式验证 D. 配置新的实例使用windows验证 E. 配置服务器使用命名管道、IPX/SPX以及TCP/IP网络库 F. 配置服务器使用多协议网络库 答案:B,C,E 参考TESTKING 070-228 NO.20

27,582

社区成员

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

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