求高手:水晶报表发布后提示“无效文件名,加载报表失败”

问题描述

各位大哥我在做水晶报表的时候,本地可以正确浏览水晶报表,但是发布网站后,在IIS浏览,总数提示水晶报表加载错误,详细信息如下:无效文件名。Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformationabouttheerrorandwhereitoriginatedinthecode.ExceptionDetails:System.Runtime.InteropServices.COMException:无效文件名。SourceError:Anunhandledexceptionwasgeneratedduringtheexecutionofthecurrentwebrequest.Informationregardingtheoriginandlocationoftheexceptioncanbeidentifiedusingtheexceptionstacktracebelow.StackTrace:[COMException(0x800001fb):无效文件名。]CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object&DocumentPath,Int32Options)+0CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object&DocumentPath,Int32Options)+95CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()+270[CrystalReportsException:加载报表失败。]CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()+333CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(Stringfilename,OpenReportMethodopenMethod,Int16parentJob)+876CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(Stringfilename)+84Report_PrintOrder.BindOrder()+276Report_PrintOrder.Page_Load(Objectsender,EventArgse)+36System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtrfp,Objecto,Objectt,EventArgse)+14System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Objectsender,EventArgse)+35System.Web.UI.Control.OnLoad(EventArgse)+91System.Web.UI.Control.LoadRecursive()+74System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+2207我的代码时这样的:TableLogOnInfologonInfo=newTableLogOnInfo();FileName=Server.MapPath("~/Report/CrystalReport.rpt");MyReport.Load(FileName);foreach(CrystalDecisions.CrystalReports.Engine.TabletbinMyReport.Database.Tables){logonInfo=tb.LogOnInfo;logonInfo.ConnectionInfo.ServerName=@".";logonInfo.ConnectionInfo.DatabaseName="dbname";logonInfo.ConnectionInfo.UserID="sa";logonInfo.ConnectionInfo.Password="123";tb.ApplyLogOnInfo(logonInfo);}//这里是取的泛型集合(有数据的)ReportAccountsReportAccounts=newglobal::ReportAccounts();List<MIST.Model.Accounts>list=newList<Accounts>();list=ReportAccounts.GetlistByCompanyId(EnterpriseId);CrystalReportSource1.ReportDocument.Load(FileName);CrystalReportSource1.ReportDocument.SetDataSource(list);CrystalReportSource1.DataBind();CrystalReportViewer1.ReportSource=CrystalReportSource1;CrystalReportViewer1.DataBind();现在我尝试了如下修改,都不行:1、把C:windowstemp设为everyone可写2、把FileName=Server.MapPath("~/Report/CrystalReport.rpt")直接改成服务器水晶报表物理路径3、服务器已安装水晶报表的文件CRforVS_13_0_2.exe

解决方案

解决方案二:
另外,我在浏览器里直接输入水晶报表的路径,如:http://www.myweb.com/Beta/report/CrystalReport.rpt提示:无法找到该页您正在搜索的页面可能已经删除、更名或暂时不可用。--------------------------------------------------------------------------------请尝试以下操作:确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。如果通过单击链接而到达了该网页,请与网站管理员联系,通知他们该链接的格式不正确。单击后退按钮尝试另一个链接。HTTP错误404-文件或目录未找到。Internet信息服务(IIS)实在不知道问题出在什么地方了,还请大家帮帮忙啊
解决方案三:

解决方案四:
大神,请问你这个问题解决了吗?是怎么解决的?我也遇到了相同的问题。求指教。。。。
解决方案五:
相对路径的问题,再有一个就是你的匹配的DLL全不全
解决方案六:
都404了证明他不存在,看这个文件是否被复制到虚拟目录下,如果没有那你可以吧做编译方式作为内容进行较新复制。然后从新生成,文件会跑到他该去目录了
解决方案七:
这是我的错误,文件路径应该是对的,我在vs上运行就没错,但是发布到iis就报这个错!!!!!无效文件名。说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Runtime.InteropServices.COMException:无效文件名。源错误:行43:strings=Server.MapPath("StatisticsRetentionReasonReport.rpt");行44:CrystalReportSource1.Report.FileName="StatisticsRetentionReasonReport.rpt";行45:CrystalReportSource1.ReportDocument.Load(Server.MapPath("StatisticsRetentionReasonReport.rpt"));行46://注意此处必需指明Dataset中的表的名称,否则会提示“您请求的报表需要更多信息.”行47:DataTabledt=ds.Tables["sql"];源文件:F:HospitalScienceServiceCLSOFT.WebEmergencyReportStatisticsRetentionReason.aspx.cs行:45堆栈跟踪:[COMException(0x800001fb):无效文件名。]CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object&DocumentPath,Int32Options)+0CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object&DocumentPath,Int32Options)+95CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()+270[CrystalReportsException:加载报表失败。]CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()+332CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.get_ProductLocaleID()+31CrystalDecisions.ReportSource.CachedObjectReportSource.GetReport(RequestContextcontext,BooleanbAddToCacheWhenCreated)+451CrystalDecisions.Web.CrystalReportSource.get_ReportDocument()+201CLSOFT.Web.EmergencyReport.StatisticsRetentionReason.Button_push_Click(Objectsender,StringwhereStr)inF:HospitalScienceServiceCLSOFT.WebEmergencyReportStatisticsRetentionReason.aspx.cs:45CLSOFT.Web.EmergencyReport.StatisticsRetentionReason.Page_Load(Objectsender,EventArgse)inF:HospitalScienceServiceCLSOFT.WebEmergencyReportStatisticsRetentionReason.aspx.cs:27System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtrfp,Objecto,Objectt,EventArgse)+14System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Objectsender,EventArgse)+35System.Web.UI.Control.OnLoad(EventArgse)+91System.Web.UI.Control.LoadRecursive()+74System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+2207
解决方案八:
解决了没?求指教
解决方案九:
晕,问题解决了吗?我也遇到了..VS调试的时候,可以完好显示报表,但是部署到IIS上的时候就出现无效文件名的错误,无效文件名?难道是IIS的错误??
解决方案十:
解决没???求指教
解决方案十一:
请问楼主,ASP.NET+MVC4Razor开发的话,用什么做报表啊?

时间: 2025-01-01 00:47:40

求高手:水晶报表发布后提示“无效文件名,加载报表失败”的相关文章

初学水晶报表,碰到一个大问题,Push模式,提示:LoadSaveReportException: 加载报表失败,请专家指点迷津

问题描述 代码如下:publicclassDemo2Sheet:System.Web.UI.Page{protectedCrystalDecisions.Web.CrystalReportViewerCrystalReportViewer1;publicSheets.Demo2oRpt=newSheets.Demo2();privatevoidPage_Load(objectsender,System.EventArgse){BindDS();}#regionWeb窗体设计器生成的代码overr

VS2010加载水晶报表时报加载数据库失败 求解!!!

问题描述 1.水晶报表模板是通过PULL模式获取字段名,创建的.2.报表数据源是PUSH模式赋值的(SetDataSource(newdatatable))3.疑问:为什么报表模板在程序加载时提示加载数据库失败?如果在PC机安装了数据库就不会有这个问题 解决方案 解决方案二:你要看什么地方报错了

java运行提示:无法加载主类,觉得程序没错,求指导!!!

问题描述 java运行提示:无法加载主类,觉得程序没错,求指导!!! package 基本语句; public interface 接口 { int a=1; int b=2; int c=3; int d=4; int f=5; void print(); void print1();}class jiekou implements 接口{ public void print() { System.out.println(a+b); } public void print1() { Syste

跪求大神帮我看看,我的imageloader加载后的图片只能回缩放到这么大.不能回到原来了

问题描述 跪求大神帮我看看,我的imageloader加载后的图片只能回缩放到这么大.不能回到原来了

我在项目添加一个新窗体,编译后怎么提示项目未加载

问题描述 我在项目添加一个新窗体,编译后怎么提示项目未加载 解决方案 解决方案二:右键选一个项目,设为启动项目看看

asp.net上传execl文件后,在页面上加载显示

 本篇文章主要是对asp.net上传execl文件后,在页面上加载显示(示例代码)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下:     #region 上传Execl文件     protected void Button1_Click(object sender, EventArgs e)     {         if (FileUpload1.HasFile)         {             string NewFileName = string.E

win8.1系统玩游戏提示TP提示自加载初始化失败的解决方

最近有不少用户又更新了Win8.1系统安装了Updata,不过很多游戏用户表示在更新后玩游戏出现 TP提示 的窗口,内容则为自加载初始化失败,特别是腾讯的游戏如LOL,CF等,那么我们如何解决这个问题呢?下面小编就分享一下解决方法. 一.用兼容性模式运行游戏 安装补丁后出现游戏不兼容的现象,我们可以设置游戏为win7系统兼容模式运行. 操作方法:右键点击要运行的游戏图标,选择属性,打开属性后切换到"兼容性"选项卡",然后勾选"以兼容模式运行该程序"在列表中

javascript-点击超链接后新页面没加载js

问题描述 点击超链接后新页面没加载js 问题是这样:两个页面 A B,A页面有个超链接,点击A页面的超链接后跳转到B页面,但是B页面没加载JS,刷新B页面之后才加载JS,怎样点击超链接之后自动刷新B页面或者自动加载JS,或者我这个B页面无法加载JS是什么原因造成的? 解决方案 a链接跳转到另外一个页面或者在本页面显示都是重新加载的,你的B页面渲染后js不显示要麽是你的js路径没有对,这个好检查,另一个就是你的写法是调用jquery库的,这时候你就得检查了,先加载jquery库文件,然后在加载你自

app-Android项目运行后在虚拟器加载失败的问题

问题描述 Android项目运行后在虚拟器加载失败的问题 跟着<第一行代码>里的那个天气app敲的代码,敲了一部分,运行项目时在虚拟器中加载失败,代码应该没有什么问题,也没什么错误提示: [2015-08-11 10:41:35 - CoolWeather] Android Launch! [2015-08-11 10:41:35 - CoolWeather] adb is running normally. [2015-08-11 10:41:35 - CoolWeather] Perfor