我有一個非常類似的問題,在[JasperReport parameters works in iReport but fails on JasperServer]後描述。JasperReports參數在iReport中可用,但在JasperReports服務器(II)上失敗
報告工作正常使用預覽選項iReport的環境中,但內JasperReports的服務器
失敗的言論表明,iReport的不JR服務器內創建InputControl。所以我確認服務器包含正確的InputControl(這顯然解決了他們的問題)。
輸入控件調用SK串行選擇:
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服務器。
範圍內iReport,下拉列表返回導致正確報告的報告參數中正確的選定值。在JasperReports服務器我只得到一個「報告是空的」消息。所以我傾向於認爲報告參數在JasperServer內沒有正確傳遞。
對「輸入控制」輸出值進行硬編碼,顯示預期報告。
附註:我使用的iReport 4.7.1與JasperReports的服務器4.5.0兼容模式。
我很高興聽到有人遇到同樣的問題嗎?
如何在JR服務器中進一步調試報告執行?
兼容性模式是否容易引起該問題?
輸入參數類型怎麼樣?我使用返回字符串的查詢。然而,我的輸入數據類型是文本(最接近字符串匹配)。我的參數類型是java.lang.string。這有意義嗎?
「輸入控件似乎在兩種環境中都能正常工作」輸入控件在iReport中不存在。所以目前還不清楚你的意思。 – mdahlman
你沒有給出任何關於你是否看到錯誤的跡象。如果你這樣做,你會看到什麼錯誤?也許從Tomcat的catalina.out日誌文件開始。 – mdahlman
@mdahlman: 關於輸入控件:在iReport中,您可以在存儲庫中添加一個輸入控件資源(右鍵單擊任意文件夾),這正是我所做的。您也可以從JasperReport Server Web界面獲得相同的可能性。兩者都適用於我:輸入控件已創建並顯示在正確的內容屏幕上。 關於錯誤:我只收到「報告爲空」的消息。但是,對選定值進行硬編碼會返回我期望的數據。 – TocToc