我们正在运行的水晶报告Windows服务器2008年。净框架3.5sp1.

我见过很多原因的一般错误"的请求不能提交的背景处理。"在其他论坛,但是他们往往是持久和可重复的影响只是一个单一报告,由于一个特定的格式问题与具体的报告。
我们看到这个错误与下堆跟踪,间歇性。

  • 它影响到多个不同的报告,我们有。
  • 它影响到一个特别报告更频繁地比其他报告。
  • 一旦一个报告受到影响的同样错误往往会出现在多份报告在大约同一时间。在接下来的10分钟。
  • 同一份报告运用同样的参数可能工作时,再次运行(不久之后),或应用程序可能需要重新启动之前的报告可以成功地重新运行。

这些报告的所有工作以前没有问题。没有变化服务器或码似乎显而易见的,这将沉淀的这一错误。所有代码后面这个是VB.NET

我们很难再现它在测试环境和升级到最新版本的水晶没有帮助的。任何帮助或建议,你可能能够解决这个问题将不胜感激。


"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"
有帮助吗?

解决方案 3

隔离的报告产生的代码。

我们的最终决议采取的代码生成的报告,并将它移到其自己孤立的服务。我们原来的服务然后呼吁我们的新晶服务的有关参数和晶RPT文件。这显然是一个代价高昂的解决方案,因为它涉及修改所有报告代码叫水晶服务代替。水晶的服务不会出现的错误。代码没有改变,除此之外,所以我们只能假定错误的原因是一些相互作用的结晶报告的动机和环境内,我们的应用程序。

其他提示

在许多天以后,最后我发现了什么是根本的问题,情况下你都包括 jpg图像在你的报告.

事实是,CR VS2008或以后的版本中, 不能处理jpg文件在CMYK模式.CR只能处理jpg文件在RGB模式。

这很有趣,较低的版本CR(附带一个VS2003)可以处理任何类型的jpg文件。谢谢晶体.

对我来说该问题与临时晶报告中产生的临时文件夹在窗。有一个数量限制的临时晶报告,可以产生晶报告引擎,同时处理在一个环。无论空间,在临时文件夹运行,由于低存在C驱动器或限制的报告是达到之后,在一个单一的运行晶报告中无法导出进一步。它会得到错误中提到的问题。

对我来说这个问题反复出现在每一个500报告,处理了(我是产生报告说,对于一个年份和出口他们的系统文件夹一个接一个使用我的应用程序)

该方案是简单的。 总是接近和处置的暂时的。rpt晶报告文件之后的出口 .



    for i as integer=0 to reportcount -1
        Dim rpt as New MyCrystalReport
        Dim filename as String = "MyReport" & i & ".Pdf"
        //Query the DB obtain the dataset then set the datasource to the report
        ...
        //Export the report
       rpt.ExportToDiskCrystalDecisions.Shared.ExportFormatType.PortableDocFormat,fileName)
        rpt.Close()
        rpt.Dispose()
    next


是否有机会报告的对象是泄露在服务器的记忆?我遇到了一个类似的情况下报告的对象是被储存到一个会议的对象,所以报告不需要获得重新装载,作为用户之间导航页。然而,当用户与报告的目的仍然是在本届会议并没有清理得当时的会议被摧毁的服务器。我不得不添加一些代码在Session_End事件在全球性的。asax找到该报告对象并呼吁处置方法。

事实上,这会出现间歇性的,但随后影响的所有报告的问题10分钟让我觉得它可能是会有关。在我的情况的服务达到一个数量限制报告,可以建立在服务器上(在存储器),因为他们没有被释放。症状很相似你的。

希望这可以帮助!

试试这个:如果你留下任何空白水晶的报告(标题、脚注或任何部分)制止它。这就是全部。我有这个问题和我这种方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top