2012-05-21 102 views
1

我設計了一個報告iReport有一個簡單的查詢作爲主報告和一個子報告與另一個簡單的查詢。這兩個查詢都沒有傳遞給它的參數,但它們都廣泛地處理時間戳。錯誤在JasperReports服務器(postgresql)運行iReport設計的報告

合併報告運行正常iReport的內,如果我刪除子查詢和兩個加載到JasperReports的服務器他們將獨立運行。然而,當我嘗試運行完整的報告,其中包括子報告中,我得到了下面的錯誤和堆棧跟蹤:

The server has encountered an error. Please excuse the inconvenience. 
Error Message 

net.sf.jasperreports.engine.JRRuntimeException: Parameter "DATABASE_TIMEZONE" does not exist. 
Error Trace 

net.sf.jasperreports.engine.JRRuntimeException: Parameter "DATABASE_TIMEZONE" does not exist. 
at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.getValueParameter(JRAbstractQueryExecuter.java:606) 
at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.getValueParameter(JRAbstractQueryExecuter.java:621) 
at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.getValueParameter(JRTimezoneJdbcQueryExecuter.java:150) 
at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.<init>(JRTimezoneJdbcQueryExecuter.java:134) 
at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuterFactory.createQueryExecuter(JRTimezoneJdbcQueryExecuterFactory.java:50) 
at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:728) 
at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:629) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1159) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:802) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746) 
at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:640) 
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) 
at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205) 
at java.lang.Thread.run(Thread.java:619) 

這是一個known bug據我所知,但不接收備受關注。有沒有人遇到這個錯誤,並提出一個解決方法或至少解釋發生了什麼?

回答

0

正是如此,這個問題有一個答案:

我的解決辦法是修改我的SQL查詢到一個查詢返回我的所有數據,並刪除子報告。這似乎是一個相當重要的功能愚蠢的工作,但它在同時工作。