J4mie
Mar 17th, 2006, 10:47 AM
I've created a Master Report which has 2 subreports which was created using iReport. The setup for my Master report is as follows:
<bean id="dataSource"> ....</bean>
<bean id="simpleReportCompile" class="org.springframework.web.servlet.view.jasperreports .JasperReportsPdfView">
<property name="url">
<value>/WEB-INF/reports/FAI901.jrxml</value>
</property>
<property name="jdbcDataSource">
<ref bean="dataSource"/>
</property>
<property name="reportCompiler">
<ref bean="jdtCompiler"/>
</property>
<property name="subReportUrls">
<map>
<entry key="FAI901Components">
<value>/WEB-INF/reports/FAI901Components.jasper</value> </entry>
<entry key="FAI901InspectionPlan">
<value>/WEB-INF/reports/FAI901InspectionPlan.jasper</value>
</entry>
</map>
</property>
</bean>
In my master report (FAI901) I link to the 2 subreports and pass them the Connection and the Parameters needed to complete their queries.
The Connection is passed using iReports $P{REPORT_CONNCETION} parameter.
When I run the report in Spring I get the following error 500:
exception
javax.servlet.ServletException: Unable to get next record.
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:408)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:209)
at ...
root cause
java.sql.SQLException: *** ERROR[8813] Trying to fetch from a statement that is in the closed state.
at com.tandem.t4jdbc.SQLMXMessages.throwSQLException( SQLMXMessages.java:71)
at com.tandem.t4jdbc.InterfaceResultSet.fetchN(Interf aceResultSet.java:484)
at com.tandem.t4jdbc.SQLMXResultSet.next(SQLMXResultS et.java:1457)
at net.sf.jasperreports.engine.JRResultSetDataSource. next(JRResultSetDataSource.java:92)
at net.sf.jasperreports.engine.fill.JRFillDataset.nex t(JRFillDataset.java:715)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next (JRBaseFiller.java:932)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillReport(JRVerticalFiller.java:130)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:730)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:632)
at net.sf.jasperreports.engine.fill.JRFiller.fillRepo rt(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:402)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.fillReport(AbstractJasp erReportsView.java:595)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.renderMergedOutputModel (AbstractJasperReportsView.java:527)
at org.springframework.web.servlet.view.AbstractView. render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet. render(DispatcherServlet.java:928)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:705)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at ...
NESTED BY :
net.sf.jasperreports.engine.JRException: Unable to get next record.
at net.sf.jasperreports.engine.JRResultSetDataSource. next(JRResultSetDataSource.java:96)
at net.sf.jasperreports.engine.fill.JRFillDataset.nex t(JRFillDataset.java:715)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next (JRBaseFiller.java:932)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillReport(JRVerticalFiller.java:130)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:730)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:632)
at net.sf.jasperreports.engine.fill.JRFiller.fillRepo rt(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:402)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.fillReport(AbstractJasp erReportsView.java:595)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.renderMergedOutputModel (AbstractJasperReportsView.java:527)
at org.springframework.web.servlet.view.AbstractView. render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet. render(DispatcherServlet.java:928)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:705)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at ...
... 46 more
Has anyone come across this problem, or know how I could fix it?
I tried removing the sub-reports from the master and ran it with the spring setup as described above and threre were no problems.
Any help would be much appreciated.
<bean id="dataSource"> ....</bean>
<bean id="simpleReportCompile" class="org.springframework.web.servlet.view.jasperreports .JasperReportsPdfView">
<property name="url">
<value>/WEB-INF/reports/FAI901.jrxml</value>
</property>
<property name="jdbcDataSource">
<ref bean="dataSource"/>
</property>
<property name="reportCompiler">
<ref bean="jdtCompiler"/>
</property>
<property name="subReportUrls">
<map>
<entry key="FAI901Components">
<value>/WEB-INF/reports/FAI901Components.jasper</value> </entry>
<entry key="FAI901InspectionPlan">
<value>/WEB-INF/reports/FAI901InspectionPlan.jasper</value>
</entry>
</map>
</property>
</bean>
In my master report (FAI901) I link to the 2 subreports and pass them the Connection and the Parameters needed to complete their queries.
The Connection is passed using iReports $P{REPORT_CONNCETION} parameter.
When I run the report in Spring I get the following error 500:
exception
javax.servlet.ServletException: Unable to get next record.
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:408)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:209)
at ...
root cause
java.sql.SQLException: *** ERROR[8813] Trying to fetch from a statement that is in the closed state.
at com.tandem.t4jdbc.SQLMXMessages.throwSQLException( SQLMXMessages.java:71)
at com.tandem.t4jdbc.InterfaceResultSet.fetchN(Interf aceResultSet.java:484)
at com.tandem.t4jdbc.SQLMXResultSet.next(SQLMXResultS et.java:1457)
at net.sf.jasperreports.engine.JRResultSetDataSource. next(JRResultSetDataSource.java:92)
at net.sf.jasperreports.engine.fill.JRFillDataset.nex t(JRFillDataset.java:715)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next (JRBaseFiller.java:932)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillReport(JRVerticalFiller.java:130)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:730)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:632)
at net.sf.jasperreports.engine.fill.JRFiller.fillRepo rt(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:402)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.fillReport(AbstractJasp erReportsView.java:595)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.renderMergedOutputModel (AbstractJasperReportsView.java:527)
at org.springframework.web.servlet.view.AbstractView. render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet. render(DispatcherServlet.java:928)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:705)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at ...
NESTED BY :
net.sf.jasperreports.engine.JRException: Unable to get next record.
at net.sf.jasperreports.engine.JRResultSetDataSource. next(JRResultSetDataSource.java:96)
at net.sf.jasperreports.engine.fill.JRFillDataset.nex t(JRFillDataset.java:715)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next (JRBaseFiller.java:932)
at net.sf.jasperreports.engine.fill.JRVerticalFiller. fillReport(JRVerticalFiller.java:130)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:730)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill (JRBaseFiller.java:632)
at net.sf.jasperreports.engine.fill.JRFiller.fillRepo rt(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:402)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.fillReport(AbstractJasp erReportsView.java:595)
at org.springframework.web.servlet.view.jasperreports .AbstractJasperReportsView.renderMergedOutputModel (AbstractJasperReportsView.java:527)
at org.springframework.web.servlet.view.AbstractView. render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet. render(DispatcherServlet.java:928)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:705)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:357)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at ...
... 46 more
Has anyone come across this problem, or know how I could fix it?
I tried removing the sub-reports from the master and ran it with the spring setup as described above and threre were no problems.
Any help would be much appreciated.