SSRS是一个基于服务器的报表系统,而Telerik Reporting则纯粹是一个嵌入式报表工具。除非您也打算使用SSRS服务器,否则应该将Telerik Reporting与
本地处理模式下的SSRS ReportViewer控件进行比较,而不是整个SSRS系统。我认为这是要回答的第一个问题:您应该评估使用报表服务器的利弊。
选择嵌入式报表的常见原因是为了避免对服务器的依赖。如果您是应用程序开发人员,并且部署应用程序到多个站点,则需要支持多个SSRS安装,除了您的应用程序。Telerik报表编译为一个dll,您可以轻松地将其与您的应用程序一起部署。
一般来说,基于服务器的SSRS比Telerik报告更具有特色,尤其是SSRS 2008的
tablix非常方便。我认为Telerik Reporting仅支持跨表格自2009年Q1以来。它不支持像钻取这样的交互功能。您应该查看Telerik报告的
已知限制项以及与SSRS 2005相比,SSRS 2008的
重大改进。另一方面,本地模式下的ReportViewer仅了解RDL 2005,因此您只能使用SSRS 2005功能。
现在,查看您的要求更加容易。
从自定义ASP.NET应用程序生成报告
- SSRS服务器:配置为
远程处理查看SSRS服务器处理和呈现的报告的Microsoft ReportViewer Web控件
- SSRS本地模式:Microsoft ReportViewer处理和呈现本地RDL 2005报告定义
- Telerik:Telerik ReportViewer处理和呈现报告。报告可以作为单个dll部署,并嵌入所有资源(图像等)。这是Telerik报告的优点。
安排报告
- SSRS:服务器端功能,本地模式不支持
- Telerik:不支持
按需或按计划通过电子邮件发送报告
- SSRS:服务器模式下有各种输出格式。在本地模式下,ReportViewer仅支持Excel和PDF
- Telerik:有各种输出格式,包括pdf
PDF输出
- SSRS:服务器模式下有各种输出格式。在本地模式下,ReportViewer仅支持Excel和PDF
- Telerik:有各种输出格式,包括pdf
钻取html
- SSRS Server:可以钻取到带参数的子报表(另一个RDL报表定义),报表元素中的静态URL
- SSRS本地模式:只有静态URL,没有交互功能
- Telerik:只有静态URL,没有交互功能
在将数据集传递给渲染引擎之前,在C#中处理数据集
- SSRS Server:支持在RDL中定义的报表数据集、兼容OLEDB的数据源、XML数据、Integration Services包和标准.NET提供程序
- SSRS本地模式:这是直接从Lachev的书(第525页)摘录的:
在本地处理模式下,ReportViewer支持两种类型的数据源:
包含ADO.NET DataTable对象或可枚举的业务对象集合的数据集。
ReportViewer Windows Forms还支持绑定到System.Windows.Forms.BindingSource和System.Type实例。
Report Viewer Web服务器支持绑定到System.Web.UI.IDataSource实例。
- Telerik:任何DataSet或DataView都可以在运行时设置为数据源
根据您的关键要素,并假定您正在企业防火墙内进行内部报告,我肯定建议使用SSRS服务器。尝试获取一个SQL Server 2008许可证或使用SQL 2008 Express作为报告服务器。但是,如果您绝对必须使用嵌入式报告,则Telerik可能是更好的选择,至少在Microsoft ReportViewer在本地模式下支持RDL 2008之前。此新ReportViewer应随Visual Studio 2010一起发布。
对于SSRS,我建议阅读Teo Lachev的Applied Microsoft SQL Server Reporting Services。样章可在book's site和Google Books中获得。
Telerik Reporting也具有出色的支持。开发Telerik报告主要依赖于samples和support forums。
我还写了关于嵌入式报告和Telerik Reporting的博客文章。