Sql Server使用链接服务器远程取数据

本文介绍了两种从本地服务器访问远程服务器数据的方法:使用OPENDATASOURCE进行远程读取及通过添加链接服务器实现数据访问。后者更为灵活,允许通过定义好的链接服务器名访问远程表而无需关心实际地址。

由于最近开发的一个查询系统,基本是在其它服务器的,所以在本地服务器设计了中间,用来存从远程服务器取数据!
一种方法是通过,OPENDATASOURCE来远程读取数据!

SELECT*
FROMOPENDATASOURCE(
'SQLOLEDB',
'DataSource=ServerName;UserID=MyUID;Password=MyPass'
).Northwind.dbo.Categories

但是远程的服务器不能确认,比较麻烦,如果要实现,只有把连接信息保存到服务器,通过动态SQL(EXEC或sp_excute_sql来达到目的)

另一种方法就是添加链接服务器,
sp_addlinkedserver@server=N'链接服务器名',
@srvproduct=N'',
@provider=N'SQLOLEDB',
@datasrc=N'远程服务器IP',
添加链接服务器登录
sp_addlinkedsrvlogin[@rmtsrvname=]'链接服务器名'
[,[@useself=]'false']
[,[@locallogin=]'本地登录名']
[,[@rmtuser=]'远程登录名']
[,[@rmtpassword=]'远程密码']

这样访问远程服务器的就可以通过SQL
select*from链接服务器名.远程数据名.远程所有者.远程表名

不用管远程服务器的地址所登录名,只能链接服务器名,不变,正式发装时,不能修改程序!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值