ASP.NET报告,什么、如何以及何时使用RDLC

本文关键字:何时使 RDLC 报告 NET 什么 ASP | 更新日期: 2023-09-27 18:25:15

我刚开始在asp.net中进行报告,无法让事情对我有利。基本上,我在这里做了一个演示。一切都很好,它在我的本地系统上生成了报告。但是,在web服务器上不起作用。

现在,我有一个困惑:在asp.net中有两种报告模式[VS 2010-.net 4.0],本地模式和服务器模式。本地模式有RDLC扩展名,服务器模式有RDL作为报告设计文件的扩展名,它需要Sql Server报告支持,另一方面,RDLC是在客户端机器上制作的[这可能看起来是一个愚蠢的问题,但这是我的机器还是我的pc,而不是web服务器,这意味着我不能在web服务器上部署和使用它]。

造成混乱的原因是,我在我的网络主机上上传了同一个演示项目并运行了它。报表查看器控件显示得很完美,一切看起来都很好,但要呈现的实际报表在报表查看器工具栏的下面却不存在。但是,与此同时,我能够下载报告的PDF、XLS和DOC格式,生成了实际的行和列,这表明报告正在生成中(rdlc的设计中也包含了条形图,它也生成了)。我想这是因为web服务器上没有安装报表查看器库,也不知道如何呈现RDLC文件。

因此,以下是实际问题:

当您将RDLC作为报告文件格式时,我认为可以在Web服务器上生成报告的想法正确吗?还是应该使用RDL?

如果我使用RDLC(本地报告)部署我的应用程序,当然是在web服务器上,它会正常工作吗?是否可以在web服务器上安装或获取报表查看器

我什么时候应该使用RDLC和RDL,什么时候不应该。之前的一个问题是什么时候在RDL报告上使用RDLC?。,但我想在我的场景中找到一个更简单的解释。

ASP.NET报告,什么、如何以及何时使用RDLC

RDLC


  1. 它的客户端报告,报告是随windows应用程序或web应用程序等应用程序一起提供的
  2. 报告导出格式方面的功能有限
  3. 报表的数据处理和呈现占用了托管报表的应用程序的地址空间,可以是windows或web。如果您经常提取大量报告,这可能会导致性能问题
  4. 这不需要任何单独的SQL实例或许可证

RDL-


  1. 这是服务器端报告,报告在称为SQL reporting Services服务的专用服务器进程中进行处理,并将输出提供给应用程序或最终用户
  2. 服务器报告旨在执行和扩展
  3. 作为单独的进程/服务运行,需要SQL许可证
  4. 提供导出到RDLC中不可用的多种格式
  5. 服务器报告是可扩展的产品。您可以包含自己的数据处理、安全或交付扩展
  6. 它支持使用现成的"订阅"自动发送电子邮件和文件报告

摘要


  1. 如果您不经常使用简单且较小的报告,请考虑客户端报告(rdlc)
  2. 如果您想设置专用的中心服务来满足各种应用程序用户的报告需求,请考虑(rdl)。这可以根据需要进行扩展、监控、优化和扩展

RDL和RDLC格式具有相同的XML模式。但是,在RDLC文件中,某些值(如查询文本)被允许为空,这意味着它们还没有立即准备好发布到报表服务器。可以通过使用SQL Server 2008版本的报表设计器打开RDLC文件来输入缺少的值。(您必须先将.rdlc重命名为.rdl。)

RDL文件与ReportViewer控件运行时完全兼容。但是,RDL文件不包含ReportViewer控件的设计时自动生成数据绑定代码所依赖的某些信息。通过手动绑定数据,RDL文件可以在ReportViewer控件中使用。

注意: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