2013-07-12 68 views
1

我使用JasperReports的4.7iReport的4.7.1的PostgreSQL 8.4作爲後端數據庫。JasperReports的服務器不執行查詢的iReport確實

雖然做一份報告,類似

(select * from table1) 
union 
(select * from table1) 

查詢我發現iReport的不報告,但是當我上傳的報告,JasperReport的服務器我得到An error has occurred. Please contact your system administrator. (6632)

我重寫查詢到

select * 
from (
(select * from table1) 
union 
(select * from table1) 
) t 

它的工作原理以及iReportJasperReports

所以,問題是,我錯過了什麼或我需要配置什麼?

+0

只是出於好奇,如果你在改變UNION會發生什麼你原始查詢到UNION ALL? – Lisa

+0

當然,由於元組重複,兩個查詢的結果都會改變,但問題仍然存在。第一個查詢不能在JasperReports上運行。 – ceochronos

+0

Postgres數據庫是您的存儲庫還是數據源? – Lisa

回答

0

我認爲這是因爲「新」(自4.5版以來)安全功能。在服務器上執行時,SQL查詢應該以選擇開始。 (查詢用「(」) 嘗試開始禁用安全檢查,來進行測試:

security.validation.sql.on=false 

在:

webapps/jasperserver/WEB-INF/classes/esapi/security-config.properties 
+0

謝謝@ robin.koch。 你說得對,這是因爲驗證安全功能。 – ceochronos

相關問題