打开报表失败都可能遇到的一个问题

wsg9913028 2008-07-29 08:53:30
水晶报表在使用过程中出现以下提示,请问专家这是什么原因引起的,应该如何解决呢


打开报表失败。
说明: 执行当前 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
...全文
362 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zye2004 2008-09-22
  • 打赏
  • 举报
回复
这是由于水晶报表如果不注册,使用一定的次数就会遇到这个问题。
暂时解决办法:重启IIS,即开始-运行-iisrestart
从根本上解决问题:注册水晶报表。
wsg9913028 2008-08-01
  • 打赏
  • 举报
回复
阿泰,来啦吗,帮忙看一下
wsg9913028 2008-07-31
  • 打赏
  • 举报
回复
在页面关闭时释放报表资源也是没有解决问题,
protected void Page_Unload(object sender, EventArgs e)
{
CommonReport.Close();
CommonReport.Dispose();

}
这个我加过啦,好像也没有起作用呀,期待阿泰的回复
wsg9913028 2008-07-31
  • 打赏
  • 举报
回复
babyt大哥有没有根本的解决办法呀
阿泰 2008-07-31
  • 打赏
  • 举报
回复
这个情况应该是 VS内嵌版本的限制
当达到一定访问并发时,会出现此情况,一般本机调试或少量并发时不会有此限制
改注册表不会解决根本问题,重启服务器才是法宝,虽然基本不可取。

可以参考下,虽然不一定管用
http://www.cnblogs.com/babyt/archive/2008/03/10/1099227.html
cs_cef 2008-07-31
  • 打赏
  • 举报
回复
發段代碼看看?
wsg9913028 2008-07-31
  • 打赏
  • 举报
回复
cs_cef兄弟,你说的改注册表的这中方式我之前试过,也是没有用的,有时还是会出现这种情况
cs_cef 2008-07-31
  • 打赏
  • 举报
回复
重啟服務器就沒問題,應該是連接過多的原因,改一下注冊表試試
HKEY_LOCAL_MACHINE;SOFTWARE;Crystal Decisions;10.0;Report Application
Server;InprocServer;PrintJobLimit修改为1000

HKEY_LOCAL_MACHINE;SOFTWARE;Crystal Decisions;10.0;Report Application
Server;Server;PrintJobLimit 也修改为1000
Unload里關閉連接也是必須的。
wsg9913028 2008-07-31
  • 打赏
  • 举报
回复
请专家关注以下这问题,谢谢
wsg9913028 2008-07-29
  • 打赏
  • 举报
回复
有没有这个"COMException DLL文件放到BIN下面",水晶报表运行有时是完全正常的,也不知道什么时间才会出现以上的错误提示“报表加载失败”,重启服务器之后就好啦
blue_summer 2008-07-29
  • 打赏
  • 举报
回复
COMException DLL文件放到BIN下面了没有??
wsg9913028 2008-07-29
  • 打赏
  • 举报
回复
在页面关闭时释放报表资源也是没有解决问题,
protected void Page_Unload(object sender, EventArgs e)
{
CommonReport.Close();
CommonReport.Dispose();

}

请问水晶报表方面的专家如何解决这个问题,期待回复

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧