2012-06-28 4 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 기반 드라이버 (BBjJDBS.jar)를 사용하여 iReports 및 JasperServer의 데이터베이스에 연결되었습니다. JasperServer는 BBj 데이터베이스와 동일한 RHEL 상자에서 실행됩니다. Jasper 서버는 DB와 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 웹 인터페이스에서 확장 된 오류가 발생하여 날짜/시간 문제로 연결될 수있었습니다. 전체 문제의 핵심은 "Order By"절입니다. 질의에 의해 질서가 삭제되면 정상적으로 작동합니다.

0

닫힌 결과 집합을 보고서의 데이터 원본으로 전달하면이 오류가 발생할 수도 있습니다.

내 경우에는 JasperReportBuilder 개체를 전달했으며 어딘가에 결과 집합이 바인딩 된 Connection 개체를 닫았습니다.

관련 문제