当我使用 Pentaho Report Designer 创建报告时,它会输出一个扩展名为 .prpt 的报告文件。之后我在互联网上找到了一个示例,其中使用以下代码以 html 格式显示报告:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ResourceManager manager = new ResourceManager();
manager.registerDefaults();
String reportPath = "file:" +
this.getServletContext().getRealPath("sampleReport.prpt");
try {
Resource res = manager.createDirectly(new URL(reportPath), MasterReport.class);
MasterReport report = (MasterReport) res.getResource();
HtmlReportUtil.createStreamHTML(report, response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
}
}
报告打印成功。因此,由于我们没有在此处指定任何数据源信息,我认为 .prpt 文件中包含该信息。
如果那是真的,那么 Jasper 不是比 Pentaho 更好的报告工具吗,因为当我们显示 Jasper 报告时,我们还必须提供数据源详细信息,这样我们的报告就很灵活,并且不会绑定(bind)到任何特定的数据库。
最佳答案
没有。数据源可以存储在prpt中,但也可以传递给报表。通常的方法是简单地使用 JNDI,以便您可以将相同的报告部署到多个测试/开发/生产环境。
您可能会从论坛中更快地获得更好的答案。 forums.pentaho.org
关于java - .prpt 文件(报告模板文件)是否包含数据源信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872079/