【发布时间】:2012-07-26 16:43:43
【问题描述】:
我必须为我的工作运行大量基于关系数据库的报告。为了让我的生活更轻松,我编写了一些脚本和程序来运行报告(简单的 SQL 查询、复杂的超特定横切查询和完整的 JasperReports 任何风格的报告)、压缩和/或对其进行加密,然后通过 SMTP 将其发送给一个或多个收件人。
其中一些是用 Java 编写的,一些是用 PHP 编写的,还有一些是 bash shell 脚本。我想统一其中的很多内容,并添加一个报告描述格式,其中可以包含配置信息,例如哪个报告(或报告:有时我必须一次运行多个报告并将它们组合成一个“包”客户端)运行,报告的任何参数应该设置为(例如客户 ID),谁应该通过电子邮件/SFTP/等接收报告。
请注意,像 JasperReports 这样的工具只是解决方案的一部分:实际的报告生成部分。我对可用于编写整个过程的脚本并从 cron 作业运行的东西更感兴趣。
是否有任何产品(OSS 会很棒)来帮助我处理这种事情?或者,这种事情对于特定环境来说是否如此独特以至于需要我已经构建的那种定制工具?
【问题讨论】:
-
不要试图变得困难,但为什么不只是使用 jasperreports 的简单 Java 应用程序,以及调用它们设置 cron 作业的简单脚本呢?除此之外,我相信 JasperServer 有能力设置自动报告,但对于你正在做的事情可能有点过头了。
-
@jschoen 这正是我现在所拥有的,但我发现我需要越来越多的功能,并且我想让非程序员更容易提交报告(例如,在 XML格式)。如果那里已经存在某些东西,我宁愿使用它,也不愿继续使用我被黑掉的实用程序和脚本系统。
-
你看过 JasperServer 了吗?
-
我正在检查 JasperServer,我知道它存在。我没有意识到它具有它的某些功能(计划报告、交付等)。我确信我需要一些超出它支持的附加功能,但这可能是一个很好的起点。我这周去看看。
-
好的,我阅读了很多关于 JasperServer 的信息,安装并试用了它,但它仍然缺少一些我真正需要的功能:体面的压缩和报告加密(WinZIP 样式的 AES-256 或例如 PGP),将多个报告捆绑到单个通信中,跨不同客户群多次执行报告,SFTP 交付等。我现有的设置允许我方便地执行上述所有操作,除了两个批处理,SFTP 和 PGP .我希望找到可以支持此类事情的东西,而不是继续构建自定义解决方案。
标签: java database scripting jasper-reports reporting