2014-03-01 98 views
1

我有一個BIRT report由一個jsp頁面調用,該頁面將報表參數傳遞給BIRT report。現在,在執行報告時,BIRT向數據庫發出查詢以獲取數據,並在查詢生成結果後成功關閉連接。BIRT報告沒有發佈連接到數據庫?

但是,有時DB持有查詢(I have include a snapshot of PG_STAT_ACTIVITY for verification purpose)的連接。之後,BIRT Web Viewer生成一個空的報告。不僅包裝中的所有其他BIRT reports也停止工作並生成空白Web Viewer頁面(I have also included a snapshot of the Blank Web Viewer)

任何有關BIRT連接問題的幫助將不勝感激。

+0

當您在IDE中設計報表時,是否遇到同樣的問題? –

+0

不,在設計IDE中的報告時,它們的工作沒有任何問題。 –

+0

在戰爭以及Apache/jboss應用程序服務器中仔細檢查您的mysql jar版本 –

回答

0

上述問題是通過各級配置參數的優化解決的。首先我們需要知道什麼是平均值。 DB的響應時間,因爲在獲取大量數據時,數據庫可能需要很長時間,而查看器會話(默認情況下,它是Http會話的子部分)可能會結束。這會直接導致連接在BIRT Web Viewer會話結束後觸發,並且沒有人可以從DB返回響應。爲了避免這個viewer.session.timeout屬性的Viewer屬性必須正確設置(在我的情況下,我已將它設置爲1200秒)。其次選擇Eclipse-BIRT IDE中的數據源,並在屬性編輯器中將ODA Data Source->&Auto Commit屬性設置爲true。這解決了我的問題,同樣如果您使用連接池中間件(如PgBouncer),那麼也檢查其配置文件並正確優化以處理與Db連接有關的問題。