Telerik通过SSRS报告?

广泛的问题是:有没有什么Telerik报告可以做SSRS(2005)不能?

细节:我们正在考虑将我们当前的Reporting基础设施从内部的ASP.NET + Crystal(VS Edition)迁移到其他项目。

忽略成本因素(我们有一个Telerik许可证),有没有任何优点或缺点与Telerik通过SSRS?

我们需要的关键要素是:

  • 从自定义ASP.NET应用程序生成报告
  • 安排报告
  • 按要求或按计划发送电子邮件报告
  • pdf输出,钻取html
  • 在将C#的数据集传递给呈现引擎之前,请按照该数据集

任何经验或网站指出优点或限制(任何引擎)将不胜感激。

SSRS是一个基于服务器的报告系统,而Telerik报告纯粹是一个embedded式报告工具。 除非您打算使用SSRS服务器,否则应在本地处理模式下将Telerik报告与SSRS ReportViewer控件进行比较,而不是整个SSRS系统。 我认为这是第一个要回答的问题:您应该评估使用报告服务器的优缺点。

selectembedded式报告的常见原因是为了避免服务器依赖 。 如果您是应用程序开发人员并将您的应用程序部署到多个站点,则除了应用程序之外,您还必须支持多个SSRS安装。 Telerik报告编译到一个DLL,你可以很容易地部署你的应用程序。

一般来说,基于服务器的SSRS比Telerik的报告function更丰富,尤其是SSRS 2008 tablix非常方便。 我认为Telerik Reporting仅从2009年第一季度开始支持交叉表。它不支持深入交互function。 您应该看到Telerik报告的已知限制以及SSRS 2008与SSRS 2005相比的显着改进 。另一方面,本地模式下的ReportViewer仅了解RDL 2005,因此您仅限于SSRS 2005function。

现在,看看你的要求是比较容易的。

从自定义ASP.NET应用程序生成报告

  • SSRS服务器:为远程处理configuration的Microsoft ReportViewer Web控件查看由SSRS服务器处理和呈现的报告
  • SSRS本地模式:Microsoft ReportViewer处理和呈现本地RDL 2005报告定义
  • Telerik:Telerik ReportViewer处理和呈现报告。 报告可以作为一个单一的DLL与所有的资源(图片等)embedded部署。 这是Telerik报告的重点。

计划报告

  • SSRS:服务器端function,在本地模式下不受支持
  • Telerik:不支持

根据需求或按计划发送电子邮件报告

  • SSRS:服务器端function,在本地模式下不受支持
  • Telerik:不支持

PDF输出

  • SSRS:服务器模式下的各种输出格式。 在本地模式下,ReportViewer仅支持Excel和PDF
  • Telerik:各种输出格式,包括pdf

钻取html

  • SSRS服务器:向下钻取到具有parameter passing的子报表(另一个RDL报表定义),报表元素中的静态URL
  • SSRS本地模式:静态URL,但没有交互function
  • Telerik:静态url,但没有交互function

在将C#中的数据集传递给渲染引擎之前,先对其进行按摩

  • SSRS服务器:支持在RDL,OLEDB兼容数据源,XML数据,Integration Services包和标准.NET提供程序中定义的报告数据集
  • SSRS本地模式:此引用直接来自Lachev的书(p.525):

ReportViewer以本地处理模式支持两种types的数据源:一个包含ADO.NET DataTable对象或可枚举的业务对象集合的数据集。 ReportViewer Windows窗体还支持绑定到System.Windows.Forms.BindingSource和System.Type的实例。 报告查看器Web服务器支持绑定到System.Web.UI.IDataSource的实例。

  • Telerik:任何DataSet或DataView都可以在运行时被设置为一个数据源

考虑到您的关键要素,并假设您正在公司防火墙内部进行内部报告,我肯定会推荐使用SSRS服务器。 尝试获得一个SQL Server 2008许可证或使用SQL 2008 Express作为报告服务器。 但是,如果您绝对必须使用embedded式报告,Telerik可能是一个更好的select,至less在Microsoft ReportViewer支持本地模式下的RDL 2008之前。 这个新的ReportViewer应该与Visual Studio 2010一起提供。

对于SSRS,我build议阅读Teo Lachev的Applied Microsoft SQL Server Reporting Services 。 示例章节可在书籍网站和Google图书中find 。

Telerik报告也有很好的支持。 开发Telerik报告严重依赖于样本和支持论坛 。

我还特别写了关于embedded式报告和Telerik报告的博客文章。

只要joinmika对Telerik互动的回复:

他们的报告现在提供了一些交互function,即导航到子报表(钻取),导航到书签,并导航到URL。 他们目前的路线图提到,他们将在2011年底之前添加交互式sorting和深入挖掘。这将使他们的报告产品在这方面更接近SSRS。

我想添加一些关于Telerik解决scheme的新信息。

Telerik Report Server产品的一部分现在提供了一些以前不受支持的function,例如计划报告电子邮件报告按需或按计划 。 Report Server附带上面提到的报告devise器。 有关if的更多信息,请点击这里 。

我们停止使用SSRS并与Telerik一起使用的一个主要原因是Telerik在浏览器上有更好的支持。 自然,当谈到浏览器兼容性时,MS不会期望MS为竞争产品提供平等的支持。 既然你正在计划做一个基于Web的应用程序,这可能是一个因素。

我第一次开始使用Telerik报告2010年第二季度版,并且从未有过通过Web应用程序链接报告的问题,以提供下钻或链接function。 这非常简单直观。

另一个要考虑的是SSRS报告文件是RDL文件,而Telerik报告被编译到你的应用程序中。 如果您需要更改报告,则需要重新编译并重新部署您的应用。 对于RDL文件,只需将其上传到SSRS服务器即可。 尽pipe如此,我仍然更喜欢Telerik,这意味着更改请求的SDLC稍长。

还有一件事情,就是只要我们使用SSRS,我们不得不同时安装VS 2008和2010,因为VS 2010没有像2008那样支持deviseRDL报告(BIDS基本上是VS 2008的缩小版本: Visual Studio 2010报表服务项目? )

使用Telerik,我们可以坚持使用VS 2010。

评论“Telerik Reporting也有很好的支持,开发Telerik报告很大程度上依赖于样本和支持论坛。”:不,你在做一个假设。 我创build了许多复杂的报告,而不需要从论坛/样本/等方面的任何方向 – 它是一个非常直观的工具。 我确信有很多开发者能够做得很好,而不会“沉重”地依赖论坛/样本 – 它不是火箭科学,而是蛋糕。

Azure中不支持SSRS本地模式。

在最新版本中,Telerik Reporting具有报表devise器,它是像报表生成器一样的工具,报表查看器支持XML报表定义(trdx)。 因此,如果您更改报告,则不需要编译。