日期:2014-05-18  浏览次数:20501 次

如何获得远程数据库的数据
两台数据库都是sql   server   2005
我想得到远程数据库上的表A中的部分数据,并把得到的数据插入到本地数据库的表B上,该如何实现?


------解决方案--------------------
insert into B
select *
from openrowset( 'sqloledb ', '远程数据库名 '; 'sa '; 'sa的密码 ', 'select * from dbo.表A ') as T

------解决方案--------------------
openrowset并不要求一定要sa,只要权限足够就行


------解决方案--------------------
关注
------解决方案--------------------
两台数据库都是sql server 2005
我想得到远程数据库上的表A中的部分数据,并把得到的数据插入到本地数据库的表B上,该如何实现?

1.建立同远程数据库的连接.
2.insert into b select * from servername.dbname.usename.a where ....

------解决方案--------------------
示例:
DECLARE @ud_SQL VARCHAR(2000)
SET @ud_SQL= 'SELECT T1.RubIDByAllSteel, T2.MaterialCode, T1.RubIDByMixer, T3.Rub_name
FROM dbo.tb_TE_RubInfoInStealAndMixer T1 INNER JOIN
dbo.tb_TE_Material T2 ON T1.RubIDByAllSteel = T2.MaterialID INNER JOIN
OPENDATASOURCE( ' 'SQLOLEDB ' ', ' 'Data Source=192.168.206.1;User ID=os;Password=20060217 ' ').SLMFNS.dbo.Pmt_rub T3
ON T1.RubIDByMixer = T3.Rub_bycode
WHERE T1.RubIDByAllSteel LIKE ' '% '+@RubIDByAllSteel+ '% ' ' '+ ' AND T1.RubIDByMixer LIKE ' '% '+@RubIDByMixer+ ' ' ' '
EXEC(@ud_SQL)


------解决方案--------------------
有足夠的權限就可以
------解决方案--------------------
链接服务器应该可以啊