PENTAHO-レポートツール - .prptファイル(レポートテンプレートファイル)にはDataSource情報も含まれていますか?

StackOverflow https://stackoverflow.com/questions/2872079

質問

私は新しいペンタホレポートツールです。次の質問があります。

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%は、古代のレポートエンジンバージョンからのレガシーレポートです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top