Search code examples
vb.netcrystal-reportsintermittent

Intermittent Crystal Reports error "The request could not be submitted for background processing."


We are running Crystal Reports on a Windows Server 2008 with .NET framework 3.5 SP1.

I have seen many causes of the general error "The request could not be submitted for background processing." on other forums, however they tend to be persistent and repeatable affecting just a single report due to a specific formatting issue with a specific report.
We are seeing this error with the below stack trace, intermittently.

  • It affects multiple different reports we have.
  • It affects one particular report more frequently than other reports.
  • Once a report is affected the same error will often appear in multiple reports at approximately the same time eg. for the next 10 minutes.
  • The same report run with the same parameters may work when run again (soon after) or the application may need restarting before the report can be successfully re run.

These reports all worked previously without issue. No change in server or code seems apparent which would have precipitated this error. All code behind for this is VB.NET

We have had difficulty reproducing it in test environments and upgrading to the latest version of Crystal has not helped at all. Any help or suggestions that you might be able to make to resolve this issue would be appreciated.


"The request could not be submitted for background processing."  
  at CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection, Object newConnection, Object parameterFields, Object crDBOptionUseDefault)  
  at CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val, Type type)  
  at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)  
--- End of inner exception stack trace ---  
  at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)  
  at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)  
  at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet)  
  at "USER CODE"

Solution

  • Isolate the report generation code.

    Our final resolution was to take the code that was generating the report and move it into its own isolated service. Our original service then calls our new Crystal service with the relevant parameters and Crystal RPT file. This is obviously a costly solution as it involves modifying all report generation code to call the Crystal service instead. The Crystal service does not exhibit the error. The code had not changed besides that, so we can only presume the cause of the error was some interaction of the Crystal reports engine and the environment within our application.