Possible Causes
The error message appears because the web application has exceeded the Crystal Reports reporting engine default print job limit of 75. Or, in other words, a high reporting load has been placed on the reporting engine. There are a number of reasons why the report engine would suffer from high loads and each reason may have a distinct solution as documented below.
Coding Issues
Proper coding requires that any objects be managed and thus destroyed when they are no longer needed. This is true for any object that supports IDisposable interface.
Too Many Print Jobs Submitted to the Report Engine
Starting in version 10 of Crystal Reports, the reporting engine was optimized for greatest report throughput. There are specific registry keys that control this optimization. By default, the print job limit is set to 75 print jobs. When a load is placed on the application it can hit the 75 print job limit and cause the error. Note that a print job includes main reports, subreports, and in-session report objects (e.g.; drill down, paging, searching, and more.). Therefore a single report could exceed the 75 print job limit. Consider a report that returns 75 records, with a subreport placed in the detail section and thus running for each record. This report will need to run 75 subreports plus the main report, reaching 76 print jobs and the error will be thrown.
Solutions
First Delete report files in temp folder(C:\Documents and Settings\[UserName]\Local Settings\Temp) with the extension rpt.
1. Dispose un-needed objects on Page_Unload
Ensure that you call .Dispose and .Close method when the report object is no longer need. Also, ensure that this is done not only with Crystal Reports, but FileStream, Database Connections, datasets or any other object that supports IDisposable interface.
Dim cryDoc As ReportDocument
On page Unload dispose the Report Document Object.
rDoc.Close()
rDoc.Dispose()
This is the Correct Solution.
2. Increase the 75 Print Job Limit
This may stop the error from occurring temporarily but as load increases, you will find the error will start to occur again or worse yet, the system may stop responding and a system reboot will be the only way to recover. For an application using the Crystal reports SDK, the registry key “InprocServer” sets the limit for the number of print jobs allowed to be processed by the report engine.
Note: The default value of 75 is the predetermined value for best performance in tested environments. Changing this value may affect performance of the system.
To change the PrintJobLimit value, follow these steps:
1)Click Start > Run. The Run dialog box appears.
2)Type “regedit” in the Open field. Click OK. The Registry Editor appears.
Navigate to the appropriate registry key value as documented below.
Crystal Reports 10.0.x
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.0\Report Application Server\ InprocServer\PrintJobLimit
Crystal Reports 10.2 (Visual Studio .NET 2005 bundle)
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report Application Server\ InprocServer\PrintJobLimit
Crystal Reports Basic for Visual Studio 2008 (Visual Studio .NET 2008 bundle)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\10.5\report Application server\InProcServer\ PrintJobLimit\PrintJobLimit
Crystal Reports XI Release 1 (11.0.x)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 11.0\Report Application Server\InprocServer\PrintJobLimit
Crystal Reports XI Release 2 (11.5.x)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 11.5\Report Application Server\InprocServer\PrintJobLimit
Crystal Reports 2008 (12.x.x)
HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\Report Application Server\InprocServer\PrintJobLimit
6 comments:
Thank you for supporting. My problem has been resolved.
ThanX Dude!
You made My Day ;-)
Thanks a lot. This article helped me to solve my CR nightmare. Phew!!
I really appreciate your Post. the post has excellent tips which are useful. this post is good in regards of both knowledge as well as information .NET Jobs
Thanks a lot. The article is very helpful and it resolved my problem.
Thank you for sharing this article.
Post a Comment