Rolinson's Blog

ASP.NET , J2ME , WAP
(还有收藏网络上的技术文章,以便一急之用)

博客园 首页 新随笔 联系 订阅 管理

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

SELECT   *
FROM      OPENDATASOURCE(
         
'SQLOLEDB',
         
'Data Source=ServerName;User ID=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 链接服务器名.远程数据名.远程所有者.远程表名


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

posted on 2005-08-27 18:16  ByNow  阅读(623)  评论(0编辑  收藏  举报