Jasper:在报表和子报表之间使用不同的连接

时间:2017-05-18 14:24:32

标签: jasper-reports

首先,我搜索并找到一些类似的主题来得到答案。问题是没有一个命题对我有用...... 让我解释一下我的情况。

我有一个包含子报告的主报告。主报表从Oracle数据库的子报表中检索CSV文件中的数据。我做了一个Oracle DataAdapTer。 我与TIBCO JasperSoft Studio合作,因为iReport不知道jdbc.oracle ...

主要报告:enter image description here我把整个图像展示给界面,配置......也许它可以帮到你。

子报告:enter image description here

独立地,报告工作完美。 主报告(没有子报告)有效:enter image description here

子报告也可以:enter image description here

正如您在第一张图片中所说,我希望在主报告中提供子报告。 为此,我尝试设置连接表达式,如下所示: java.sql.DriverManager.getConnection(" jdbc:oracle:thin:@ // SERVER:PORT / DBNAME&# 34;," USER"," PASSWORD") 我尝试了没有结果的不同语法,我总是有这个例外:

net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: java.sql.DriverManager.getConnection("jdbc:oracle:thin:@//SERVER:PORT/DBNAME", "USER", "PASSWORD")
        at com.jaspersoft.studio.editor.preview.view.control.ReportControler.fillReport(ReportControler.java:548)   
[...]

编辑说我在错误中看到:"引起:java.sql.SQLException:找不到合适的jdbc驱动程序:oracle:thin:@ // 172.10.10.0:1521/instance" 。它让我认为我的 ojdbc6-11.jar 没有很好地添加到项目/ jaspersoft中。 如何正确安装驱动程序?

我依靠你帮助我,我没有发现我的错误。

谢谢,

达明。

1 个答案:

答案 0 :(得分:-1)

如果这两个报告共享相同的连接,您可以使用参数变量$P{REPORT_CONNECTION}

将连接从主报告传递到子报告

enter image description here