日期:2014-05-20  浏览次数:20972 次

打开报表失败都可能遇到的一个问题
水晶报表在使用过程中出现以下提示,请问专家这是什么原因引起的,应该如何解决呢


打开报表失败。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Runtime.InteropServices.COMException: 打开报表失败。

源错误: 

只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL: 

1. 在产生错误的文件的顶部添加一条“Debug=true”指令。例如: 

  <%@ Page Language="C#" Debug="true" %>

或:

2. 将以下的节添加到应用程序的配置文件中:

<configuration>
  <system.web>
  <compilation debug="true"/>
  </system.web>
</configuration>

请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译。

重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销。在部署到生产方案之前,应确保应用程序调试已禁用。  

堆栈跟踪: 

[COMException (0x800003e5): 打开报表失败。]
  CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
  CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +87
  CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +279

[Exception: 加载报表失败。]
  CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +341
  CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +858
  CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +73
  SubscribeManage_LoadSummaryOut.DispReport(DataSet dataSet1) +1036
  SubscribeManage_LoadSummaryOut.ExcelSql() +154
  SubscribeManage_LoadSummaryOut.Page_Load(Object sender, EventArgs e) +224
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
  System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
  System.Web.UI.Control.OnLoad(EventArgs e) +80
  System.Web.UI.Control.LoadRecursive() +49
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3750

 


--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433

------解决方案--------------------
这个情况应该是 VS内嵌版本的限制
当达到一定访问并发时,会出现此情况,一般本机调试或少量并发时不会有此限制
改注册表不会解决根本问题,重启服务器才是法宝,虽然基本不可取。

可以参考下,虽然不一定管用
http://www.cnblogs.com/babyt/archive/2008/03/10/1099227.html