SSRS - 404页面未找到
问题描述:
我有一台运行SQL 2008的SQL 2008的Windows 2008服务器。它也是一台安装了Plesk的Web服务器。SSRS - 404页面未找到
我一直在为开发服务器开发此服务器的报告一段时间。在开发服务器上一切正常。但我想报告移动到直播服务器,我得到下面的错误:
服务器错误
404 - 文件或目录未找到。 您正在查找的资源可能已被删除,名称已更改或暂时不可用。
我不知道为什么会发生这种情况,因为当我自己访问报告URL时,它工作正常。但是,只要我在我的Web应用程序中调用报告在同一台服务器上托管我得到此错误。我的应用程序是用c#和asp.net编写的。以下是我用来访问报告的一段代码。任何帮助将不胜感激:
string ExpId1 = Convert.ToString(Request.QueryString["Id"]).Trim();
string ExpId2 = ExpId1.Replace("@", "+");
Int32 ExpId3 = Convert.ToInt32(qsc.decryptQueryString(ExpId2));
string id=ExpId3.ToString();
ReportViewer1.Width = 1050;
ReportViewer1.Height = 600;
ReportViewer1.Style.Add("Overflow", "Scroll");
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
IReportServerCredentials irsc = new CustomReportCredentials("user", "password", "server");
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportParameter[] para = new ReportParameter[2];
para[0] = new ReportParameter();
para[0].Name = "ExpHearderId";
para[0].Values.Add(id);//any value
para[1] = new ReportParameter();
para[1].Name = "ExpHeadreId";
para[1].Values.Add(id);//any value
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://xxx.xxx.xxx.xxx/reportserver_TGO");
string path=Server.MapPath("~/ReportingofUsers/ExpenseClaimReport");
ReportViewer1.ServerReport.ReportPath = path;
ReportViewer1.ServerReport.SetParameters(para);
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ServerReport.Refresh();
ReportViewer1.Visible = true;
答
这应有助于:http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html
编辑:还有一两件事。我很确定,当你使用Reports Server时,你不应该使用Server.MapPath
。只需在报告服务器中指定路径即可:/ReportingofUsers/ExpenseClaimReport
。假设您将报告发布到服务器。
我尝试过使用之前的路径。这没有用。但我会改回它。你给的链接也没有帮我解决。无论如何感谢... – Rup 2011-06-14 12:57:58
嗯,我有大约2周前相同的问题,并添加此处理程序解决它。也许尝试在IIS中重新启动应用程序池? – Episodex 2011-06-14 13:06:57
我会尝试。我可以使用服务器上部署的报告的URL从本地系统访问此报告。但是,然后我把它放在我的应用程序,并尝试访问它,就像我得到的错误... – Rup 2011-06-14 14:12:52