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

如何实现一个查询分别取两个库的数据?
有两个ERP系统,服务器和库都是分别独立的。比如现在要查个销售数据,要分别在A、B两个系统中查询出来,然后用人工在excel进行合并汇总,这样效率太低了。现在就是想做一个小软件,专门用来查询用的,数据源要同时取这两个系统,该怎样实现比较好?
我只能想到下面几点:
1、如果是直接后台连接数据库,那么各自取出来的数据也不能union吧?再者安全性应该也是一个问题。
2、如果是建立一个库C,把A、B库的数据都同步过来(其实怎么个同步法我也不清楚),这样效率会不会很慢?会不会影响到正式库的性能?

大家都有哪些好方法提供一下呢?


------解决方案--------------------
这种跨服务器的连接通常都很慢,如果不需要实时,可以把数据预先查到一台机器,然后关联,这样就不满。如果需要实时,可能需要借助一些技术如复制,把另外一台机器的数据库实时同步到本机器,再进行关联
------解决方案--------------------
分库甚至分服务器本身就已经抛弃了高性能
------解决方案--------------------
一个是链接服务器,但这个效率就有点差

另一个就是数据库的同步,就是你说的加一个服务器C,然后把A的和B的都同步到C,这个效率还是可以的,一般不会影响A和B的:
SQL Server 2008 数据库同步的两种方式 (发布、订阅)
http://kb.cnblogs.com/page/103975/
------解决方案--------------------
单服务器跨库查询相对于跨服务器查询要快的多,当然也比不上单库查询
------解决方案--------------------
建议把数据抽取到同一个服务器上在处理,能保证查询性能
------解决方案--------------------
链接服务器不要考虑,那会严重拖慢原服务器的查询性能,要么用SQL2005企业版以上版本做数据库镜像,即可以做备份,又能在镜像服务器上做两个ERP系统的综合查询和分析