天天看點

報表加載失敗(Report Load Failed)

我被這個問題玩瘋,我找了很多資料,也試着很多可能,很謝謝圖表區的朋友們的幫忙,特别是泰哥和立雙,給了很多幫助

http://blog.csdn.net/luols/archive/2010/11/17/6014022.aspx這個連結是解決的方法,剛開始我按照這個方案也沒有解決,

糾結了很久,知道最近我把系統優化,最後的問題還是自己的代碼身上,是以上面的方法是能夠解決的。

故障描述:

VS2005的水晶報表在WEB應用程式中多次使用後,就會出現加載報表失敗.重新開機WEB伺服器又正常了.過一段時間又出同樣問題

使用者使用水晶報表的時候出現加載報表錯誤.

剛開始使用者使用非常正常,但使用一天(該使用者使用報表頻率非常大)就會出現"報表加載失敗",然後使用者重新開機伺服器這後又可以了

我發現在C:/WINDOWS/Temp這個臨時檔案裡面有大量的水晶報表檔案,每使用一次就會生成幾個檔案,

在電腦沒有重新啟動的情況下它不會被删除,而出現大量的無用檔案,

在google裡面搜了一圈發現也有人碰到這樣的情況但回答的很模糊隻是說要将水晶報表裝載的文檔關閉掉,

從這裡可以看出出現這樣的錯誤應該是程式員人為照成的.

具體解決如下:

1.ReportDocumen執行個體必須為類成員

        private   ReportDocument   prtp   =   new   ReportDocument();      

2.使用完水晶報表必須關閉檔案,這樣子就不會在windows的臨時檔案裡面産生.

        private   void   Page_Unload(object   sender,   EventArgs   e)

        {

                prtp.Dispose();

        }

Page_Unload   事件是在頁面完全顯示的時候運作,這樣子就解決了.

本文來自CSDN部落格,轉載請标明出處:http://blog.csdn.net/luols/archive/2010/11/17/6014022.aspx

再次謝謝各位!!

繼續閱讀