日期:2014-05-17  浏览次数:20511 次

使用SQL语句如何登录其他机器数据库拿数据回来?
有一台是中心数据库,我这台是部门的。部门这台需要从中心的取回一些新数据保存到部门数据。如何写SQL呢?

------解决方案--------------------
在两台机能保证互访的前提下,在服务器端创建链接服务器,然后部门端用select * from [链接服务器名].[数据库名].[架构名,一般为dbo].[表名] where 条件
------解决方案--------------------
用opendatasource,

select * from opendatasource('SQLOLEDB',
'Data Source=[中心数据库机器名];User ID=[帐号];Password=[密码]').[数据库名].[架构名].[表名]

------解决方案--------------------
注意必须要把里面的ip和端口改为你要访问的远程服务器的ip和端口,还有用户名和密码也是登录远程服务器的用户名和密码
--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
                                   @srvproduct='ms', 
                                   @provider=N'SQLNCLI',                                    
                                   @datasrc=N'改为远程服务器的ip,端口'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
                                    @useself=N'False',
                                    @locallogin=NULL,
                                    @rmtuser=N'',用户名
                                    @rmtpassword='密码'
                                    
--执行后,能查看远程服务器上的数据
select * from [Link].数据库.dbo.表


insert into 本地表
select * from [Link].数据库.dbo.表
                         
                                    


另外,