如何将Jasper Report输出直接存储在数据库表中,而不需要任何步骤

时间:2016-09-30 14:03:31

标签: oracle jasper-reports oracle-apex

这似乎是一个简单的问题,但是可以将JasperReport的输出直接存储在数据库表中,而不需要其他任何步骤吗? 据我所知,Jasper会生成一个输出(例如PDF),我可以在浏览器中下载和/或显示。要将其存储到数据库中,我需要额外的步骤将PDF从文件系统传输到数据库表。 该请求的原因是,我必须为事务生成并保留收据。

我的编程环境是:

  • Oracle APEX
  • Oracle Database 11.0.2
  • Apache Tomcat

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个很好的解决方案。要使用JasperReports从Oracle APEX生成PDF,有一个名为JasperReportsIntegration的集成框架 该框架包含几个将Oracle APEX与Jasper连接的功能。还有一个函数可以将报告作为blob。这个blob可以很容易地保存在数据库表中。

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;

这对我来说非常适合。