2016-09-30 17 views
-1

これは簡単な質問ですが、JasperReportの出力をデータベーステーブルに直接格納することは可能です? 私が知る限り、Jasperはブラウザでダウンロードしたり表示したりできる出力(PDFなど)を作成しています。それをデータベースに保存するには、PDFをファイルシステムからデータベーステーブルに転送するための特別なステップが必要です。 その理由は、トランザクションの領収書を生成して保持する必要があるからです。Jasper Report出力をデータベーステーブルに直接格納する方法

私のプログラミング環境は次のとおりです。

  • のOracle APEX
  • Oracleデータベース11.0.2
  • Apache Tomcatの

任意のアイデア?ありがとう!

+0

ありがとうございました。もちろん、APEXを使用して結果PDFをデータベースに格納することはできますが、これは問題ではありません。私はジャスパーの間に他のステップをせずに直接保管したい。 –

+2

[JasperReports](http://jasperreports.sourceforge.net/api/)はJavaライブラリです。 [Jaspersoft Studio](http://community.jaspersoft.com/project/jaspersoft-studio)は、このライブラリを使用して記入されたレポートテンプレートを開発するためのIDEです。 IDEやJasperReportsには、充満したレポートをデータベースにストリーミングするための組み込み機能はありません。カスタムソフトウェアが必要です。 [ここ](http://stackoverflow.com/a/8349906/59087)と[here](http://stackoverflow.com/a/8569883/59087)を参照してください。 –

答えて

0

私は非常に良い解決策を見つけました。 JasperReportsを使用してOracle APEXからPDFを生成するには、JasperReportsIntegration と呼ばれる統合フレームワークがあります。このフレームワークには、Oracle APEXとJasperを接続するためのいくつかの関数が含まれています。レポートをブロブとして取得する関数もあります。このブロブはデータベーステーブルに簡単に保存できます。

begin 
    xlib_jasperreports.set_report_url('<url of the Application>'); 

    xlib_jasperreports.get_report(p_rep_name   => :p_rep_name, 
           p_rep_format  => :p_rep_format, 
           p_data_source  => :p_data_source, 
           p_rep_locale  => :p_rep_locale, 
           p_rep_encoding  => :p_rep_encoding, 
           p_additional_params => :p_additional_params, 
           p_out_blob   => :p_out_blob, 
           p_out_mime_type  => :p_out_mime_type); 
end; 

これは私にとって完璧です。

関連する問題