2012-10-23 25 views
0

我有一個非常類似的問題,在[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.1JasperReports的服務器4.5.0兼容模式。

我很高興聽到有人遇到同樣的問題嗎?

如何在JR服務器中進一步調試報告執行?

兼容性模式是否容易引起該問題?

輸入參數類型怎麼樣?我使用返回字符串的查詢。然而,我的輸入數據類型是文本(最接近字符串匹配)。我的參數類型是java.lang.string。這有意義嗎?

+1

「輸入控件似乎在兩種環境中都能正常工作」輸入控件在iReport中不存在。所以目前還不清楚你的意思。 – mdahlman

+1

你沒有給出任何關於你是否看到錯誤的跡象。如果你這樣做,你會看到什麼錯誤?也許從Tomcat的catalina.out日誌文件開始。 – mdahlman

+0

@mdahlman: 關於輸入控件:在iReport中,您可以在存儲庫中添加一個輸入控件資源(右鍵單擊任意文件夾),這正是我所做的。您也可以從JasperReport Server Web界面獲得相同的可能性。兩者都適用於我:輸入控件已創建並顯示在正確的內容屏幕上。 關於錯誤:我只收到「報告爲空」的消息。但是,對選定值進行硬編碼會返回我期望的數據。 – TocToc

回答

0

其實這是一個簡單的錯誤:

我剛剛發現:

value column: id 

應該

value column: serialnr 

不過,我不明白爲什麼該報告是在預覽工作模式?這樣大的錯誤應該在預覽中失敗否?

在anycase感謝大家會導致我的錯誤;)

0

在我的角度來看,有碧玉報告,包括內兩種類型的參數:報表參數和數據集參數中。

首先,您必須創建兩個參數,然後將數據集的一個映射到Report的一個。

我遇到了同樣的問題給你,從而解決了我的情況。

相關問題