我是asp.net报道的新手,无法让这些东西对我有益。 基本上,我对所谓的here进行了演示。一切正常,它在我的本地系统上生成报告。但是,没有在Web服务器上工作。
现在,我有一个困惑:asp.net [VS 2010 - .NET 4.0],本地模式和服务器模式有两种报告模式。本地模式具有RDLC扩展,服务器模式具有RDL作为报告设计文件的扩展,并且它需要Sql Server报告以获得支持,另一方面,RDLC在客户端计算机上进行[它可能看起来是一个愚蠢的问题但是,是我的机器还是我的电脑而不是网络服务器,意味着我无法在网络服务器上部署和使用它。]
混淆的基础是我在我的网络托管上传了相同的演示项目并运行它。报表查看器控件显示完美且每件事情看起来都很好,但报表查看器工具栏的下方没有要呈现的实际报表。但是,与此同时,我能够完全正确地下载报告的PDF,XLS和DOC格式,并生成实际的行和列,这表明报告正在生成(条形图也包含在rdlc的设计,它也产生了)。我想这是因为Web服务器上没有安装Report Viewer库,也不知道如何呈现RDLC文件。
所以,这是实际问题:
我认为当您将RDLC作为报告文件格式时,可以在网络服务器上生成报告,或者我应该使用RDL吗?
如果我使用RDLC(本地报告)部署我的应用程序,当然在 Web服务器上,它会正常工作吗?是否可以在Web服务器上安装或获取报表查看器
我应该何时使用RDLC和RDL,何时不使用RDLC和RDL。上一个问题When to use RDLC over RDL reports?。,但我正在寻找一个更简单的解释。
答案 0 :(得分:3)
RDLC
RDL
摘要
答案 1 :(得分:1)
RDL和RDLC格式具有相同的XML架构。但是,在RDLC文件中,某些值(例如查询文本)可以为空,这意味着它们不会立即准备好发布到报表服务器。可以使用SQL Server 2008版本的报表设计器打开RDLC文件来输入缺少的值。 (您必须先将.rdlc
重命名为.rdl
。)
RDL文件与ReportViewer控件运行时完全兼容。但是,RDL文件不包含ReportViewer控件的设计时间依赖于自动生成数据绑定代码的一些信息。通过手动绑定数据,可以在ReportViewer控件中使用RDL文件。
注意:ReportViewer控件不包含用于连接数据库或执行查询的任何逻辑。通过分离出这样的逻辑,ReportViewer已经与所有数据源兼容,包括非数据库数据源。但是,这意味着当ReportViewer控件使用RDL文件时,控件将忽略RDL文件中的SQL相关信息。主机应用程序负责以ADO.NET DataTables的形式连接到数据库,执行查询并向ReportViewer控件提供数据。
参考:http://forums.asp.net/t/1173578.aspx/1
同时检查:http://dinesql.blogspot.com/2010/11/reporting-services-difference-between.html