我有10个通过ODBC链接的Postgres数据库,我在Crystal Reports中使用了该数据库。这10个数据库都是相同的,相同的架构和表。
我需要同时从所有10个数据库中查询一个统一的报告。这可能吗?如果是这样,我如何链接数据库以合并数据?
我将使用SQL查询来绘制数据。
提前致谢
正确的方法是处理Crystal报表之外的数据源。我对Postgres不熟悉,也不知道您是否可以链接表或数据库。在SQL Server中,您可以使用链接服务器,在MS Access链接表中,Postgres中应该有类似的概念。这个想法是在数据库外部链接一个对象,并在数据库内部使用它。这将允许您准备如下查询:
选择A,B,C FROM server1.database1.table1 UNION选择A,B,C FROM server2.database1.table1 UNION选择A,B,C FROM server3.database1.table1 ... UNION选择A,B,C FROM server10 .database1.table1
该查询(或视图)将包含所有信息,您可以基于它创建Crystal报表。Crystal将仅使用一个数据库,一个数据库包含查询,而该查询将处理其他数据库以收集数据。与将所有10个数据库的连接直接添加到Crystal报表中时相比,这将更快。
我认为在这里子报告不是一个选择。每个子报表将连接到一个单独的数据库,您将获得10个单独的子报表。您可能会获得所有数据,但是将为每个子报表进行排序,因此第一个数据库将具有A-> Z,第二个数据库将具有A-> Z,依此类推。这将是10个单独的数据集,这些数据将一起显示,但仍会像单独的记录集那样工作。
如果Postgres不支持链接数据库,则可以使用Access数据库作为代理,只需链接表并将其用作放置位置,它将合并数据
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句