程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 水晶報表運行一段時間後出現的兩個問題及解決辦法

水晶報表運行一段時間後出現的兩個問題及解決辦法

編輯:.NET實例教程

1.

已達到系統管理員配置的最大報表處理作業數限制。


說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Runtime.InteropServices.COMException: 已達到系統管理員配置的最大報表處理作業數限制。

源錯誤:



以上是提示的錯誤信息
解決辦法:
具體為修改下面兩個鍵的值。
HKEY_LOCAL_MacHINE;SOFTWARE;Crystal Decisions;10.0;Report Application
Server;InprocServer;PrintJobLimit

修改為1000
還有一個HKEY_LOCAL_MacHINE;SOFTWARE;Crystal Decisions;10.0;Report Application
Server;Server;PrintJobLimit 也修改為1000

2.用戶使用水晶報表的時候出現加截報表錯誤.


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


   我發現在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 事件是在頁面完全顯示的時候運行,這樣子就解決了.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved