【发布时间】:2015-11-04 18:53:56
【问题描述】:
我刚刚创建了一个 birt 报告 (.rptdesign)。我想我会把这个设计保存在我的数据库中。该应用程序将重新检索设计并生成报告。此外,我可以在不重新部署我的应用程序的情况下修改设计。
然而,在本地化方面,我发现.properties 文件并未嵌入,而是在设计中被引用。
我想知道将设计存储在数据库中是否可能/一个好主意?我将如何解决包含 properties 文件的问题?也许将所有文件压缩成一个?
【问题讨论】:
我刚刚创建了一个 birt 报告 (.rptdesign)。我想我会把这个设计保存在我的数据库中。该应用程序将重新检索设计并生成报告。此外,我可以在不重新部署我的应用程序的情况下修改设计。
然而,在本地化方面,我发现.properties 文件并未嵌入,而是在设计中被引用。
我想知道将设计存储在数据库中是否可能/一个好主意?我将如何解决包含 properties 文件的问题?也许将所有文件压缩成一个?
【问题讨论】:
您可以像这样从文件系统加载您的报告:
IReportRunnable design = null;
engine.getConfig().setResourcePath(reportDir + File.separator + "res");
design = engine.openReportDesign(designFilename);
如果您的数据库是 Oracle,您可以使用一项功能(但不知道名称),您可以在其中以 WebDAV 格式导出表。 表可以包含 rptdesign 的 BLOB。
在 Windows 中,您可以将 WebDAV 导入文件系统。
从客户端程序(如 BIRT)的角度来看,表中的记录看起来像是文件系统目录中的旧文件。
如果这不是一个选项,我认为你将不得不修补 BIRT。
【讨论】: