要求更好的策略实施基于firebird数据库的Delphi在线报告

时间:2010-07-29 11:50:44

标签: database delphi firebird

在Firebird数据库驱动的Delphi应用程序中,我们需要在线提供一些数据,因此我们可以在我们的应用程序中添加在线报告功能。

目前的做法是:每当数据被更改或添加时,将它们发送到在线服务器(php + mysql),如果失败,将其添加到队列中并再次尝试。然后具有数据的服务器能够创建自己的报告。

因此,总结一下:将数据联机的好方法是什么。

2 个答案:

答案 0 :(得分:0)

目前我知道这两种不同的策略:

  • 基于事件:每当检测到更改时,将它们推送到Web服务器/ mysql数据库。正如您所写,如果目标系统没有收到消息,则需要排队。

  • 基于快照:按时间间隔(例如每小时)提取相关数据并将其传输到Web服务器/ mysql数据库。

基于快照的策略允许以一种非常适合wb / mysql db数据结构的方式预处理数据,这有助于更好地解耦系统并在发送系统一侧保留更多业务逻辑(Delphi) )。它还会产生更连续的负载,因为它不关心海量数据的变化。

答案 1 :(得分:0)

另一种方法可以是使用复制,但我不知道在Firebird和MySQL数据库之间进行复制的系统。

要在线添加报告工具功能:您还可以检查快速报告服务器