Reporting services 何时在RDL报告上使用RDLC?

Reporting services 何时在RDL报告上使用RDLC?,reporting-services,rdlc,rdl,Reporting Services,Rdlc,Rdl,在过去的几周里,我一直在学习SSR2005/2008,并创建了一些服务器端报告。对于某些应用程序,一位同事建议我针对特定情况研究RDLC。我现在正试图弄清楚RDL和RDLC之间的主要区别 搜索这些信息最多只能产生零碎的信息。我了解到: RDLC报告不存储有关如何获取数据的信息 RDLC报告可以直接由ReportViewer控件执行 但我仍然不完全理解RDLC文件与其他相关系统(报表服务器、源数据库、客户端)之间的关系 为了更好地掌握RDLC文件,我想知道它们的使用与RDL文件有什么不同,以及

在过去的几周里,我一直在学习SSR2005/2008,并创建了一些服务器端报告。对于某些应用程序,一位同事建议我针对特定情况研究RDLC。我现在正试图弄清楚RDL和RDLC之间的主要区别

搜索这些信息最多只能产生零碎的信息。我了解到:

  • RDLC报告不存储有关如何获取数据的信息
  • RDLC报告可以直接由ReportViewer控件执行
但我仍然不完全理解RDLC文件与其他相关系统(报表服务器、源数据库、客户端)之间的关系

为了更好地掌握RDLC文件,我想知道它们的使用与RDL文件有什么不同,以及在什么情况下会选择RDLC而不是RDL。也欢迎链接到资源

更新: A讨论了同样的问题。从中,我对这个问题有了更好的理解

RDLC的一个特性是,它可以在ReportViewer控件中完全在客户端运行

  • 这样就不需要Reporting Services实例,甚至不需要任何数据库连接,但是:
  • 它增加了报告中所需数据必须手动提供的要求
这是优点还是缺点取决于特定的应用程序


在我的应用程序中,Reporting Services的一个实例无论如何都是可用的,并且可以轻松地从数据库中提取报表所需的数据。有没有理由让我考虑RDLC,或者我应该简单地坚持RDL? 我一直认为RDL和RDLC的不同之处在于,RDL用于SQL Server Reporting Services,而RDLC用于Visual Studio中的客户端报告。实现和编辑器几乎相同RDL代表
报表定义语言
RDLC
报表定义语言客户端


我希望这会有所帮助。

根据我的经验,如果您需要大型报表的高性能(这取决于您的客户端规格),请使用rdlc。此外,rdlc报告为您提供了对数据的全方位控制,通过使用客户端报告,您可以节省浪费的数据库访问等。在我目前正在处理的项目中,一个关键报告需要大约2分钟才能在服务器端呈现,并且几乎可以去掉在这段时间内它所访问的任何一个报告服务器。切换到客户端渲染,我们可以看到性能更接近20-40秒,而报表服务器上没有负载,使用的带宽更少,因为只下载数据集


您的里程可能会有所不同,我发现rdlc增加了开发和维护的复杂性,特别是当您的报表被设计为服务器端报表时。

如果您可以使用reporting services基础架构,请使用它。您会发现RDL开发更令人愉快。您可以预览报告,轻松设置参数等。

对于VS2008,我相信RDL提供了比RDLC更好的编辑功能。例如,我可以在带有RDL的文本框中对选定数量的文本更改粗体,而在RDLC中这是不可能的

RDL:abcdefghijklmnop

RDLC:abcd efgh ijklmnop或-abcd efgh ijklmnop(是您唯一的选择)


这是因为RDLC使用的是2005年的早期名称空间/格式,而RDL使用的是2008年的名称空间/格式。然而,随着VS2010的出现,这一点将发生变化。上面已经讨论了其中一些要点,但这里是我为VS2008环境付出的2美分

RDL(远程报告):更好的开发体验,如果您需要使用一些高级功能,如调度、临时报告等,则更具灵活性

RDLC(本地报告):在将数据发送到报告之前更好地控制数据(在将数据发送到报告之前更容易验证或操作数据)。部署更简单,无需Reporting Services实例

本地报告的一个巨大警告是,如果您的客户端将运行大量大型报告,那么已知的内存泄漏可能会严重影响性能。这应该通过新的VS2010版本的报表查看器来解决

在我的例子中,因为我们有一个可用的Reporting Services实例,所以我将新的报表开发为RDL,然后将它们转换为本地报表(这很容易),并将它们部署为本地报表

问:RDL和RDLC格式之间有什么区别? 答:RDL文件是由SQL数据库创建的 Server 2005版本的报表 设计师RDLC文件是由 Visual Studio 2008版本的 报表设计器

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

RDL文件与 ReportViewer控件运行时。 但是,RDL文件不包含一些 的设计时间所需的信息 ReportViewer控件取决于 自动生成 数据绑定代码。通过手动绑定 数据,RDL文件可以在 ReportViewer控件。新的!另见 RDL查看器示例程序

请注意,ReportViewer控件 不包含任何逻辑 连接到数据库或执行 查询。分离出这样的逻辑,, ReportViewer已生成 与所有数据源兼容, 包括非数据库数据源。 然而,这意味着当一个RDL 文件由ReportViewer使用 骗局