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

sql server2012 跨库访问疑问
在oracle中由一个数据库访问另一个数据库,需要用到oracle database link,那么在sql server中应该怎么弄呢?我想在数据库003中访问到004中的数据。

------解决方案--------------------
既然用到的是Oracle DB Link那么在Oracle端操作。如果你是用SQL Server LinkedServer,在SQL Server端操作。
------解决方案--------------------
如果你要访问的数据库,不在同一个服务器上,那么可以用服务器链接:

--建立链接服务器,通过@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 [Link].远程数据库名.dbo.表(列的列表)
select 列
from 本地表