我正在使用Crystal Report,但收到错误:
The maximum report processing jobs limit configured by your system administrator has been reached
我搜索了stackoverflow并找到了2个主题:
但是当我做主题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();
}
}
那么,我如何在报告中的页面之间导航,但是我没有收到错误?
非常感谢
答案 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)
早上,你有没有尝试过这里的任何事情: http://social.msdn.microsoft.com/forums/en/vscrystalreports/thread/208525b2-94cd-4af6-9c5a-015e243b3092/
答案 3 :(得分:0)
没有永久的解决方案。 更改注册表和代码后,问题会在几个小时内出现。 建议更改RDL或RDLC