已达到系统管理员配置的最大报告处理作业限制

时间:2012-08-23 10:41:34

标签: crystal-reports

我正在使用Crystal Report,但收到错误:

The maximum report processing jobs limit configured by your system administrator has been reached

我搜索了stackoverflow并找到了2个主题:

  1. Crystal Reports Error: The Maximum Report Processing Jobs Limit
  2. Crystal Reports Exception: The maximum report processing jobs limit configured by your system administrator has been reached
  3. 但是当我做主题1时,更改PrintJobLimit = -1,错误仍然会发生。

    当我做主题2时,我还没有测试,因为我的报告需要在页面之间导航。要导航,我必须在会话中保存报告:

        ReportDocument reportDocument = null;
        protected override void OnInit(EventArgs e)
        {
            if (IsPostBack && Session["reportDocument"] != null)
            {
                reportDocument = (ReportDocument)Session["reportDocument"];
                crvReport.ReportSource = reportDocument;
            }
        }
    
        protected void Page_Load(object sender, EventArgs e)
        {
            reportDocument = new ReportDocument();
            Session["reportDocument"] = reportDocument;
            crvReport.ReportSource = reportDocument;
    
            reportDocument.Load(Server.MapPath("~/files/Users.rpt"));
            reportDocument.SetDatabaseLogon("******", "******", "*.*.*.*", "*****");
            reportDocument.VerifyDatabase();
    
            crvReport.DataBind();
        }
    

    所以我无法卸载reportDocument,因为Session [" reportDocument"]更改为null

        protected void crvReport_Unload(object sender, EventArgs e)
        {
            if (reportDocument != null)
            {
                reportDocument.Close();
                reportDocument.Dispose();
                reportDocument = null;
                GC.Collect();
            }
        }
    

    那么,我如何在报告中的页面之间导航,但是我没有收到错误?

    非常感谢

4 个答案:

答案 0 :(得分:2)

我找到了这个链接Pdf file

所以,我没有关闭并在crvReport_Unload中处理文档,但是当我重定向到另一个页面时,我关闭并处理它。

//OnRedirect
ReportDocument reportDocument = (ReportDocument)Session["reportDocument"];
reportDocument.Close();
reportDocument.Dispose();
reportDocument = null;
GC.Collect();

错误仍然存​​在但反对的更少。

答案 1 :(得分:1)

我在Crystal报告版本11.5中遇到了同样的问题。经过大量搜索后,我发现了不同的解决方案,例如" HKEY_LOCAL_MACHINE \ SOFTWARE \ SAP BusinessObjects \ Crystal Reports for .NET Framework 4.0 \ Report Application Server \ InprocServer ,它们会增加您的打印作业限制等但是他们都没有为我工作。然后我就放弃了我的reportDocument with clone,这就像一个魅力。在我打印/生成报告后的情况下,我做了这个

reportDocument.Close(); 
reportDocument.Clone(); 
reportDocument.Dispose(); 
reportDocument = null;
GC.Collect();
GC.WaitForPendingFinalizers();

希望这会对你有所帮助。 :)

答案 2 :(得分:0)

答案 3 :(得分:0)

没有永久的解决方案。 更改注册表和代码后,问题会在几个小时内出现。 建议更改RDL或RDLC