在Windows Server 2003上运行的.NET应用程序,现在已升级到Windows Server 2012。
该应用程序在Crystal Report中生成了多个报告,每当这些报告被提供给数据集时,我都会收到以下错误:
Error in File C:\Windows\TEMP\temp_8906e55c-36b9-40f1-8385-7bf2fafe324c {9D8F44CC-FC36-4F28-916B-DAD28922C786}.rpt:
The request could not be submitted for background processing.
[COMException (0x800002ad):
Error in File C:\Windows\TEMP\temp_8906e55c-36b9-40f1-8385-7bf2fafe324c {9D8F44CC-FC36-4F28-916B-DAD28922C786}.rpt:
The request could not be submitted for background processing.]
CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection, Object newConnection, Object parameterFields, Object crDBOptionUseDefault) +0
CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val, Type type) +1084
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type) +280
[InternalException:
Error in File C:\Windows\TEMP\temp_8906e55c-36b9-40f1-8385-7bf2fafe324c {9D8F44CC-FC36-4F28-916B-DAD28922C786}.rpt:
The request could not be submitted for background processing.]
CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +789
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type) +327
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet) +91
CCD.Tresorerie.SWAP.Reports.ReportExtensions.SetSQLQuery(ReportClass report, ReportQuery query) in C:\ProjetTFS\SWAP\DEV\merciera[ReHmai2015]\Sources\CCD.Tresorerie.SWAP.Reports\ReportExtensions.cs:80
CCD.Tresorerie.SWAP.Reports.ReportExtensions.SetSQLQuery(ReportClass report, List`1 queries) in C:\ProjetTFS\SWAP\DEV\merciera[ReHmai2015]\Sources\CCD.Tresorerie.SWAP.Reports\ReportExtensions.cs:70
CCD.Tresorerie.SWAP.BusinessProcessor.ReportHelper.SetReportPropertyMeta(ReportProperties reportProperty, ReportClass report) in C:\ProjetTFS\SWAP\DEV\merciera[ReHmai2015]\Sources\CCD.Tresorerie.SWAP.BusinessProcessor\ReportHelper.cs:23
CCD.Tresorerie.SWAP.App.Web.Rapports.ShowReportViewer.ShowReport(eReport reportName) in C:\ProjetTFS\SWAP\DEV\merciera[ReHmai2015]\Sources\CCD.Tresorerie.SWAP.App.Web\Rapports\ShowReportViewer.aspx.cs:646
CCD.Tresorerie.SWAP.App.Web.Rapports.ShowReportViewer.Page_Init(Object sender, EventArgs e) in C:\ProjetTFS\SWAP\DEV\merciera[ReHmai2015]\Sources\CCD.Tresorerie.SWAP.App.Web\Rapports\ShowReportViewer.aspx.cs:45
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
System.Web.UI.Control.OnInit(EventArgs e) +132
System.Web.UI.Page.OnInit(EventArgs e) +16
System.Web.UI.Control.InitRecursive(Control namingContainer) +143
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1477
我正在将数据集提供给报告:
DataSet ds = new DataSet();
ds.Tables.Add(ToDataTable<RistournesAD>(ristournes));
ds.Tables[0].TableName = "RistournesAD";
rapport.SetDataSource(ds);
重要的是要表示在Windows Server 2003上,在应用程序中生成报告时没有错误。所有使用存储过程的报告仍然可以正常工作。我们重写了一些报告,将数据源从数据集更改为存储过程,这些报告再次开始工作。
作为临时修复,在托管应用程序的IIS中,我们在应用程序池中设置了启用32位应用程序为true。在此之后,使用数据集的报告正常运行。我想避免这样做,因为在winserver 2008上运行应用程序的目的是将它们作为64位应用程序运行。
我查看了我在网上找到的所有文章,但没有任何帮助。如果我能提供任何其他信息来解决此问题,请告诉我。
谢谢