我已经通过了许多链接,但现在我需要能够更好地帮助我的人。我既没有托管经验也没有SSRS经验。
在几个网站之后,我在已经存在的Asp.net MVC应用程序中添加了来自visual studio的商业智能 - >“报告项目”。然后我成功创建了两个rdl报告,我可以很好地预览。现在的问题是在asp.net应用程序中使用它们吗?
我做的步骤是:
1)打开IIS并创建一个新的网站,其物理目录为“我的路径” SSRS项目“。如果我从中浏览此网站,我现在可以看到该位置 IIS。
2)现在来到asp.net代码。我已经添加了查看报告所需的基本代码,但问题是“路径”。我是否必须定义“本地服务器路径”或“远程”。两者有什么区别。它们是否需要该rdl文件的物理位置。如果它需要物理位置,那么我怎么能得到它,因为rdl文件在不同的项目中并且它不存在于我的主webapp中。我对此很困惑。有时我会在尝试提供应用程序路径时遇到错误。对于下面的代码,它向我显示了这个错误。
无法解析远程名称:'reportserver'
这是项目结构:
这就是我在控制器中的含义
ReportViewer reportViewer = new ReportViewer
{
ProcessingMode = ProcessingMode.Remote
};
//reportViewer.LocalReport.ReportPath =
// Request.MapPath(Request.ApplicationPath) +
// "~/Reports/Report3.rdl";
//reportViewer.LocalReport.ReportPath = Path.GetFullPath("~/ReportingProject/Reports/Report3.rdl");
//reportViewer.LocalReport.ReportPath = Path.Combine("~/ReportingProject/Reports/Report3.rdl");
reportViewer.ServerReport.ReportServerUrl = new Uri("http://ReportServer/Reports/report3.rdl");
//string solutiondir = Directory.GetParent(
// Directory.GetCurrentDirectory()).Parent.FullName;
//// may need to go one directory higher for solution directory
//return XDocument.Load(solutiondir + "\\" + ProjectBName + "\\Mock\\myDoc.html")
reportViewer.Width = Unit.Percentage(100);
reportViewer.LocalReport.DataSources.Add(new
ReportDataSource("DataSet1", objList));
reportViewer.LocalReport.Refresh();
ViewBag.ReportViewer = reportViewer;
答案 0 :(得分:0)
也许您应该使用SOAP报告服务(请参阅https://technet.microsoft.com/en-us/library/reportservice2010.reportingservice2010.aspx)使用ListChildren()方法获取您想要的报告以及父文件夹(https://technet.microsoft.com/en-us/library/reportservice2010.reportingservice2010.listchildren.aspx)的路径。