Crystal Reports 异常:已达到系统管理员配置的最大报表处理作业限制 [英] Crystal Reports Exception: The maximum report processing jobs limit configured by your system administrator has been reached

查看:24
本文介绍了Crystal Reports 异常:已达到系统管理员配置的最大报表处理作业限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了一个非常错误的问题,在 ASP.NET 应用程序中同时多次查看相同的报告后我得到了这个异常:

I'm facing a very buggy issue, in ASP.NET application after viewing the same report many times simultaneously I got this exception:

您的系统配置的最大报表处理作业限制已联系管理员.

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

等等,我知道那里有大量的解决方案,但它们都不适用于我.

Wait I know there are tons of solutions out there but all of them are not working with me.

  1. 我把 ReportDocument.Close();ReportDocument.Dispose();在 CrystalReportViewer_Unload 事件中,仍然抛出异常.

  1. I put ReportDocument.Close(); ReportDocument.Dispose(); in CrystalReportViewer_Unload event, and still throw the exception.

Private Sub CrystalReportViewer1_Unload(ByVal sender As Object, ByVal e As System.EventArgs) 处理 CrystalReportViewer1.Unload报告文件.关闭()报告文件.Dispose()GC.Collect()结束子

我在 HKEY_LOCAL_MACHINESOFTWARESAP BusinessObjectsCrystal Reports for .NET Framework 4.0Report Application ServerInprocServerHKEY_LOCAL_MACHINESOFTWARESAP BusinessObjects 中编辑 PrintJobLimit 注册表Crystal Reports for .NET Framework 4.0Report Application ServerServer 到 -1 甚至到 9999,仍然抛出异常.

I edit the PrintJobLimit registry in HKEY_LOCAL_MACHINESOFTWARESAP BusinessObjectsCrystal Reports for .NET Framework 4.0Report Application ServerInprocServer and HKEY_LOCAL_MACHINESOFTWARESAP BusinessObjectsCrystal Reports for .NET Framework 4.0Report Application ServerServer to -1 even to 9999, and still throw the exception.

这是我调用报告的代码片段:

Here is the code snippet where I call my report:

 Table_Infos = New TableLogOnInfos()
                Table_Info = New TableLogOnInfo()
                Con_Info = New ConnectionInfo()

                With Con_Info
                    .ServerName = ConfigurationManager.AppSettings("server_name")
                    .DatabaseName = ConfigurationManager.AppSettings("DB")
                    .UserID = user_name
                    .Password = pass_word
                    .Type = ConnectionInfoType.SQL
                    .IntegratedSecurity = False
                End With

                Table_Info.ConnectionInfo = Con_Info

                If Session("recpt_lang") = "Arabic" Then
                    reportFile.Load(Server.MapPath("/Reports/") & "collectrecpt_new_ar.rpt")
                ElseIf Session("recpt_lang") = "English" Then
                    reportFile.Load(Server.MapPath("/Reports/") & "collectrecpt_new.rpt")
                End If

                For Each mytable In reportFile.Database.Tables

                    mytable.ApplyLogOnInfo(Table_Info)

                Next

                CrystalReportViewer1.ReportSource = reportFile
                CrystalReportViewer1.SelectionFormula = Session("SelectionForumla")
                CrystalReportViewer1 = Nothing

推荐答案

我建议将您的 close/dispose/gc.collect 代码移到该卸载过程之外.换句话说:

I would recommend moving your close/dispose/gc.collect code outside of that unload process. In other words:

  1. 加载报告
  2. 分配给查看器控件
  3. 在查看器控件中显示报告
  4. 关闭查看器控件并卸载(完全)
  5. 然后在任何查看器控制代码之外关闭/dispose/gc.collect

我的猜测是在清理报表时查看器控件没有完全关闭.

My guess is the viewer control is not completely closed when the report is being cleaned up.

Crystal 是一个非常占用内存且非常挑剔的过程.

Crystal is a very memory intensive process and very finicky.

这篇关于Crystal Reports 异常:已达到系统管理员配置的最大报表处理作业限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆