[JasperReport parameters works in iReport but fails on JasperServer]投稿で説明されている問題と非常によく似た問題があります。
レポートは、プレビューオプションを使用してiReport環境内で正しく動作しますが、 JasperReports Server内では失敗します
コメントは、 iReportがJR Server内にInputControlを作成しないことを示唆しています。そこで、サーバーに適切なInputControlが含まれていることを確認しました(これで問題が解決したようです)。
sk serial selectionと呼ばれる入力コントロール:
ID: ic_sk_serial
Name: sk serial selection
Type: Single Select Query
Mandatory: false
Read Only: false
Visible: true
Query resource:
From repository (pointing to *q_sk_serial* see below)
Value and Visible columns:
Value column: id
Visible query columns: serialnr
q_sk_serialと呼ばれる入力コントロール クエリ(inpute コントロールに英数字のシリアル番号のリストを入力します。項目は一意です):
select id,serialnr from "public"."serials" order by serialnr;
パラメータ名:
ic_sk_serial
レポート クエリ:
select * from "public"."datas" datas where datas."serialnr" like $P{ic_sk_serial}
私の場合、入力コントロールは両方の環境 ( iReportプレビューとJasperServer内) で適切に機能しているようです。同じデータベースからのアイテムのリストを入力します。iReport内だけでなく、JR Serverでもドロップダウンリストが期待どおりに表示されます。
iReport内で、ドロップダウン リストは、正しいレポートにつながるレポート パラメータで正しい選択値を返します。JasperReports Serverでは、 「レポートは空です」というメッセージしか表示されません。そのため、 JasperServer内で report パラメータが適切に渡されていないと思いがちです。
「入力コントロール」出力値をハードコーディングすると、予想されるレポートが表示されます。
補足: JasperReports Server 4.5.0との互換モードでiReport 4.7.1を使用しています。
誰かが同じ問題に遭遇したかどうか聞いてうれしいですか?
JR Serverでレポートの実行をさらにデバッグするにはどうすればよいですか?
互換モードはその問題を引き起こす可能性がありますか?
入力パラメータの型はどうですか? stringを返すクエリを使用します。ただし、入力データ型はテキストです(文字列に最も近い)。私のパラメーターの型はjava.lang.stringです。これは理にかなっていますか?