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