JasperServer错误 - 无法获得下一条记录

时间:2012-06-28 19:35:22

标签: java sql jasper-reports jasperserver

我有一个非常简单的报告,可以在我的工作站上的iReports(4.5.0)中完美运行。当我上传JasperServer CE(4.5.0)时,我收到以下错误。

1 - Unable to get next record. 
java.lang.Exception: 1 - Unable to get next record.
at com.jaspersoft.ireport.jasperserver.ws.WSClient.runReport(WSClient.java:403)
at com.jaspersoft.ireport.jasperserver.ws.WSClient.runReport(WSClient.java:320)
at com.jaspersoft.ireport.jasperserver.ReportRunner.run(ReportRunner.java:70)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

还有其他更复杂的查询和报告在JasperServer上运行没有问题。数据库系统是运行BBJ(Business Basic Java)的Basis / Pro5。我使用相同的本机JDBC Basis驱动程序(BBjJDBS.jar)连接到iReports和JasperServer中的数据库。 JasperServer在与BBj数据库相同的RHEL盒子上运行。 Jasper服务器使用内置数据库和Tomcat作为捆绑包安装。没有其他已知的冲突存在。

以下单表查询旨在获取给定月份的事务总和。该报告有一个详细信息部分,它只打印查询输出。

SELECT
    Month(INHI.TRANSACTION_DATE) AS TransMonth,
    admin.INHI.ITEM_ID,
    admin.INHI.TRANSACTION_TYPE,
    SUM(admin.INHI.TRANS_QUANTITY) as TransQty
FROM
    admin.INHI
WHERE
    admin.INHI.ITEM_ID = 'R-CBSH-3300'
AND (
        admin.INHI.TRANSACTION_TYPE = 'B2'
    OR  admin.INHI.TRANSACTION_TYPE = 'P1')
AND admin.INHI.TRANSACTION_DATE BETWEEN '2012-01-01' AND '2012-03-31'
GROUP BY
    Month(INHI.TRANSACTION_DATE),
    admin.INHI.ITEM_ID,
    admin.INHI.TRANSACTION_TYPE
Order By
admin.INHI.TRANSACTION_TYPE

我已经全神贯注地尝试找到其他麻烦的拍摄技巧并且已经没有选择尝试了。非常感谢任何指导。

2 个答案:

答案 0 :(得分:1)

在我的情况下,我能够从JasperServer Web界面获得一个扩展错误,这会导致我出现日期/时间问题。整个问题的关键是“订购依据”条款。一旦我通过查询删除订单工作正常。

答案 1 :(得分:0)

如果将已关闭的结果集作为报告的数据源传递,也会出现此错误。

在我的情况下,我传递了JasperReportBuilder对象并在某处我(过早地)关闭了结果集绑定的Connection对象。