今日产品部要导批数据,但是需要连接查询查询的几个表不在同一服务器上。所以我开始是这么干的: 1.查询一台服务器的数据,并导入本地excel 2.查询另一台服务器的数据,并导入本地excel 3.excle导入数据库,数据库自带了excel导入数据库的功能 4.连接查询,o
今日产品部要导批数据,但是需要连接查询查询的几个表不在同一上。所以我开始是这么干的:
1.查询一台服务器的数据,并导入本地excel
2.查询另一台服务器的数据,并导入本地excel
3.excle导入,自带了excel导入数据库的功能
4.连接查询,over!
后来才知道产品部要全国50多个城市的数据,所以每个城市的我都要重复这样干一遍。
这时才想起跨库查询了。
1.开通分布式查询权限
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'ad hoc distributed queries',1 reconfigure 2.
2.查询
select a.projcode as '楼盘编号',b.projname as '楼盘名称',count(1) as '房源量' from openrowset( 'sqloledb ', 'ip地址(服务器名)'; '用户名'; '密码',[数据库名].[dbo].[表名]) a , openrowset( 'sqloledb ', 'ip地址(服务器名)'; '用户名'; '密码',[数据库名].[dbo].[表名]) b where a.projcode=b.newcode group by a.projcode ,b.projname order by count(1) desc
3.然后换城市,只需要改ip、 库名和表名了。
4.关闭
exec sp_configure 'ad hoc distributed queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure