本帖最后由 johnnyxiao 于 2013-07-18 23:33:41 编辑

解决方案 »

  1.   

    打开report失败?看看权限设置什么的 asp.net运行的进程需要有对report的读权限。
    win2k3 iis6下,asp.net是运行在network service账户下。
      

  2.   

    这里还有讨论,需要对Temp目录有访问权限。
    参考:http://stackoverflow.com/questions/10283978/crystal-report-invalid-file-name-issue
      

  3.   

    感谢关注!回复3、4楼:托管服务器上的网站主目录、temp目录默认权限基础上加其他一些用户的权限 但还是不行。测试服务器及虚拟机上我都测试过,默认的权限都可以打开报表的回复5楼:托管服务器是80端口,测试服务器是83端口。后来我在虚拟机上开了个80端口的网站,打开报表也没问题呀。都快绝望了
    实在不行准备改用微软自带的rdlc那种报表 兼容性应该好很多吧?
      

  4.   

    看到曙光了 重启了一次 报错不一样 前面的问题可能解决了
    请问这个问题该怎么解决呢? win2003是32位的报错信息如下:“/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------检索 COM 类工厂中 CLSID 为 {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} 的组件失败,原因是出现以下错误: 8007007e 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。 
    说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: 检索 COM 类工厂中 CLSID 为 {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} 的组件失败,原因是出现以下错误: 8007007e 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。源错误: 执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
    [FileNotFoundException: 检索 COM 类工厂中 CLSID 为 {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} 的组件失败,原因是出现以下错误: 8007007e 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。]
       CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor() +193[TypeInitializationException: “CrystalDecisions.CrystalReports.Engine.ReportDocument”的类型初始值设定项引发异常。]
       CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor() +44
       DyAnti.Web.Manage.Logistics.Balances.OpenRpt(String strSql) +72
       DyAnti.Web.Manage.Logistics.Balances.btnQuery_Click(Object sender, EventArgs e) +591
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563 
    --------------------------------------------------------------------------------
    版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.272 
      

  5.   

    确实是权限问题 我在c:\给network service账号加了列出读取的权限就OK!
    给temp加权限还不够 可能是托管服务器修改了默认的权限组策略之类的东东 晕死3楼给的线索 我找到了这个网址 最终解决的
    http://scn.sap.com/thread/3234968