HKEY_LOCAL_MACHINE\SOFTWARE\CRYSTAL DECISIONS\10.0\REPORT APPLICATION SERVER\SERVER\PrintJobLimit.
HKEY_LOCAL_MACHINE\SOFTWARE\business objects\10.5\REPORT APPLICATION SERVER\SERVER\PrintJobLimit.
On my web server, which is running Crystal Reports 2008 SP2 I've been getting the error "The maximum report processing jobs limit configured by your system administrator has been reached." Having researched the topic online i came across a fix in which if you alter a registry value, specifically HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\Report Application Server\InprocServer\PrintJobLimit to "-1" you turn off the job limit. [image ilustrasi : hqtv.com]
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 jobs and cause the above error. Report Objects stored in Sessions would be counted as a PrintJob. Main reports would count as a PrintJob. Subreports would each count as a PrintJob. The print job limit is controlled by the following reg key: HKEY_LOCAL_MACHINE\SOFTWARE\CRYSTAL DECISIONS\10.0\REPORT APPLICATION SERVER\SERVER\PrintJobLimit.
Source code on visual studio
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using CrystalDecisions;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;
namespace Test.Utilities
{
public class ReportFactory
{
protected static Queue reportQueue = new Queue();
protected static ReportClass CreateReport(Type reportClass)
{ object report = Activator.CreateInstance(reportClass);
reportQueue.Enqueue(report);
return (ReportClass)report;
}
public static ReportClass GetReport(Type reportClass) {
//75 is my print job limit.
if (reportQueue.Count > 75) ((ReportClass)reportQueue.Dequeue()).Dispose();
return CreateReport(reportClass);
}
}
}
Tidak ada komentar
Posting Komentar