2016-05-25 11 views
0

我已經在JasperStudio中設置了一個報告,該報告應該接收報告標題和查詢作爲參數,然後填寫報告。JasperReports API:如何定義數據適配器

使用默認查詢值可以從Jasper Studio正確填寫報告。我已經定義了一個數據適配器(DB.xml),它允許通過Jaspersoft Studio的正確行爲。

如果我嘗試填補從Java報告中,使用類似

JasperFillManager.fillReport(fileIn, parameters, new JREmptyDataSource()); 

如果參數保持標題和查詢兩個字符串,導出的PDF格式將有正確的標題,但在列中沒有信息,這似乎表明fillReport不知道BD適配器。

我是否必須將其傳遞給其他參數?我應該將適配器xml文件放在任何特定的位置嗎?

+0

'我是否必須沿着其他參數傳遞它?我應該將適配器xml文件放在任何特定的位置嗎?' - 您有關使用JasperReports API(Java代碼)的問題嗎? –

+0

@AlexK是的! – GoofKyko

回答

0

如果要在JSS外部使用數據適配器,則必須將報告中的net.sf.jasperreports.data.adapter屬性設置爲數據適配器xml所在的文件系統路徑或類路徑資源。

而且在填寫報告時,您不應該傳遞數據源,而是使用僅將報告和參數映射作爲參數的fillReport方法。

+0

我收到一條警告,提示我傳遞的SQLConnection爲空,並且報告爲空。我找到的解決方案是創建連接並將其作爲數據源傳遞,然後報告正確填充。 – GoofKyko