[英]Pentaho - Reporting Tool - Does the .prpt file (report template file) contains datasource information too?
我是新的Pentaho報表工具。 我有以下問題:
當我使用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報告時,我們還必須提供數據源詳細信息,這樣我們的報告就可以靈活而且不受任何特定數據庫的約束。
不。 數據源可以存儲在prpt中,但是也可以傳遞到報表中。 通常的方法是簡單地使用JNDI,以便您可以將同一報告部署到多個測試/開發/生產環境。
您可能會從論壇中獲得更快更好的答案。 forums.pentaho.org
PRPT文件通常包含運行報告所需的所有信息。 您可以通過修改從ResourceManager返回的MasterReport對象來提供自己的數據源。
但是,我還必須看到有效的用例,這些操作實際上是有意義的。 為了在運行時為SQL數據源提供連接信息,通常使用Web應用程序或J2EE服務器的JNDI子系統。
那在Pentaho BI-服務器上運行的所有報告,99.99%的人沒有必要手動替換數據源來運行。 其余的0.01%是來自舊報告引擎版本的舊報告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.