2

ワークステーションの 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 サーバーは、組み込み DB と Tomcat の両方を使用してバンドルとしてインストールされます。他の既知の競合は存在しません。

次の単一テーブル クエリは、特定の月のトランザクションの合計を取得するように設計されています。レポートには、クエリ出力のみを出力する詳細セクションが 1 つあります。

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

追加のトラブルシューティングのヒントを見つけようといろいろ調べましたが、試すオプションがありませんでした。どんなガイダンスも大歓迎です。

4

2 に答える 2

1

私の場合、JasperServer Web インターフェイスから拡張エラーを取得できたため、日付/時刻の問題が発生しました。問題全体の核心は、"Order By" 節でした。クエリで注文を削除すると、正常に機能しました。

于 2012-06-30T00:44:33.510 に答える
0

レポートのデータ ソースとして閉じた結果セットを渡した場合にも、このエラーが発生する可能性があります。

私の場合、JasperReportBuilderオブジェクトを渡し、どこかConnectionで結果セットがバインドされているオブジェクトを (時期尚早に) 閉じました。

于 2016-11-03T17:52:36.273 に答える