2011-06-14 178 views
0

我有一台运行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; 

回答

2

这应有助于:http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html

编辑:还有一两件事。我很确定,当你使用Reports Server时,你不应该使用Server.MapPath。只需在报告服务器中指定路径即可:/ReportingofUsers/ExpenseClaimReport。假设您将报告发布到服务器。

+0

我尝试过使用之前的路径。这没有用。但我会改回它。你给的链接也没有帮我解决。无论如何感谢... – Rup 2011-06-14 12:57:58

+0

嗯,我有大约2周前相同的问题,并添加此处理程序解决它。也许尝试在IIS中重新启动应用程序池? – Episodex 2011-06-14 13:06:57

+0

我会尝试。我可以使用服务器上部署的报告的URL从本地系统访问此报告。但是,然后我把它放在我的应用程序,并尝试访问它,就像我得到的错误... – Rup 2011-06-14 14:12:52