PENTAHO-レポートツール - .prptファイル(レポートテンプレートファイル)にはDataSource情報も含まれていますか?
-
03-10-2019 - |
質問
私は新しいペンタホレポートツールです。次の質問があります。
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のレポートを表示する場合、DataSourceの詳細も提供する必要があるため、JasperはPentahoよりも優れたレポートツールではない場合は真実である場合、レポートは柔軟性があり、特定のデータベースに縛られていません。
解決
いいえ。データソース できる PRPTに保存されますが、レポートにも渡すことができます。また、通常の方法は、JNDIを使用して、同じレポートを複数のテスト/開発環境に展開できるようにすることです。
おそらく、フォーラムからより迅速な答えが得られるでしょう。 forums.pentaho.org
他のヒント
PRPTファイルには通常、レポートを実行するために必要なすべての情報が含まれています。君 できる ResourceManagerから戻ってくるMasterReportオブジェクトを変更して、独自のデータソースを提供します。
しかし、私はまだ、その種の操作が実際に理にかなっている有効なユースケースを見る必要があります。実行時にSQL DataSourcesに接続情報を提供するには、通常、WebアプリケーションまたはJ2EEサーバーのJNDIサブシステムを使用します。
Pentaho Bi-Serverで実行されているすべてのレポートの99.99% いいえ 実行するためにデータソースを手動で交換する必要があります。残りの0.01%は、古代のレポートエンジンバージョンからのレガシーレポートです。