SSRS is a server-based reporting system whereas Telerik Reporting is purely an embedded reporting tool. You should compare Telerik Reporting to SSRS ReportViewer control in local processing mode, not the whole SSRS system, unless you intend to use the SSRS server too. I think this is the first question to answer: you should evaluate the pros and cons of using a report server.
The usual reason of choosing embedded reporting is to avoid a server dependency. If you are an application developer and deploy your application to multiple sites, you would have to support multiple SSRS installation in addition to your application. Telerik reports compile to a dll that you can deploy with your application easily.
Generally, server-based SSRS is more feature-rich than Telerik reporting, especially the SSRS 2008 tablix is handy. I think that Telerik Reporting has supported crosstabs only from Q1 2009. It does not support interactive features like drilldown. You should see the known limitations of Telerik reporting and also the substantial improvements in SSRS 2008 compared to SSRS 2005. On the other hand, ReportViewer in local mode understands RDL 2005 only, so you are limited to SSRS 2005 features.
Now, it is easier to look at your requirements.
Generating reports from a custom ASP.NET application
- SSRS Server: Microsoft ReportViewer web control configured for remote processing views the reports processed and rendered by an SSRS server
- SSRS local mode: Microsoft ReportViewer processes and renders the local RDL 2005 report definitions
- Telerik: Telerik ReportViewer processes and renders reports. Reports can be deployed as a single dll with all the resources (images etc.) embedded. This is the strong point of Telerik reporting.
Scheduling reports
- SSRS: Server-side feature, not supported in local mode
- Telerik : Not supported
Email reports on demand or on a schedule
- SSRS : Server-side feature, not supported in local mode
- Telerik: Not supported
Pdf output
- SSRS: Various output formats in server mode. In local mode, ReportViewer supports only Excel and PDF
- Telerik: Various output formats, including pdf
Drilldown html
- SSRS Server: Drilldown to a subreport (another RDL report definition) with parameter passing, static urls in report elements
- SSRS local mode: Static urls but no interactive features
- Telerik: Static urls but no interactive features
Massage the dataset in C# before passing it to the rendering engine
- SSRS Server: Supports report datasets defined in RDL, OLEDB compatible
data sources, XML data, Integration Services packages and standard .NET providers
- SSRS local mode: This quote is directly from Lachev's book (p.525):
ReportViewer supports two types of
data sources in local processing mode:
a dataset that contains an ADO.NET
DataTable object or an enumerable
collection of business objects.
ReportViewer Windows Forms also
supports binding to instances of
System.Windows.Forms.BindingSource and
to System.Type. Report Viewer Web
server supports binding to an instance
of System.Web.UI.IDataSource.
- Telerik: any DataSet or DataView can be set as a datasource at runtime
Given your key elements, and assuming that you are doing internal reporting inside a corporate firewall, I'd definitely recommend using an SSRS server. Try to get one SQL Server 2008 licence or use SQL 2008 Express as a reporting server. But if you absolutely have to use embedded reporting, Telerik is probably a better choice, at least until Microsoft ReportViewer supports RDL 2008 in local mode. This new ReportViewer should be shipped with Visual Studio 2010.
For SSRS, I recommend reading Teo Lachev's Applied Microsoft SQL Server Reporting Services. Sample chapters are available at the book's site the and in Google Books.
Telerik Reporting has excellent support too. Developing Telerik reports relies heavily on samples and support forums.
I have also written blog posts on embedded reporting and Telerik Reporting in particular.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…