2012-06-28 39 views
1

我有一個非常簡單的報告,可以在我的工作站上的iReports(4.5.0)上完美運行。當我上傳JasperServer CE(4.5.0)時出現以下錯誤。JasperServer錯誤 - 無法獲取下一條記錄

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 

我到處都找過,試圖找到另外的故障排除技巧,並跑出選擇嘗試。任何指導非常感謝。

回答

1

在我的情況下,我可以從JasperServer Web界面得到一個擴展的錯誤,這導致了我的日期/時間問題。整個問題的癥結在於「Order By」條款。一旦我通過查詢刪除了訂單,工作正常。

0

如果您將封閉的結果集作爲報告的數據源傳遞,您也可以得到此錯誤。

在我的情況下,我通過了JasperReportBuilder對象,並在某處(過早)關閉結果集綁定的Connection對象。