The following table shows how the ReportViewer control and Reporting Services compare on report processing, data retrieval, deployment, and report design. This overview might be helpful as the differences between server-side processing and local reports might become confusing:

FunctionalityReportViewer controlsSQL Server Reporting Services

Report processing

Processes reports in the client application (local mode), or hosts server reports that run on a remote SQL Server Reporting Services report server (remote mode).

Processes reports on a report server, a middle-tier Web service that runs on Internet Information Services (IIS).

Report output formats

GDI for reports that run in Windows applications. HTML for reports that run in ASP.NET Web pages.

Export formats include Microsoft Excel and PDF.

GDI for reports that run in Windows applications. HTML for reports that run in ASP.NET Web pages.

Export formats include Microsoft Excel and PDF.

Report design and Visual Studio integration

Create client report definition (.rdlc) files in Visual Studio. Adding a Report template to a project creates a report definition file, adds the file to your project, and opens an integrated report designer in the Visual Studio workspace.

The Visual Studio Data Source wizards can be used to provide data in your application for subsequent use in the report.

The Visual Studio Report Designer does not include a Preview tab. To preview your report, run the application and preview the report embedded in it.

The Visual Studio Report Designer integrates with the Data Sources window. When a user drags a field from the Data Sources window to the report, the Report Designer copies metadata about the data source into the report definition file. This metadata is used by the ReportViewer control to automatically generate data-binding code.

Create report definitions in Visual Studio through the Business Intelligence Development Studio. The Business Intelligence Development Studio adds project templates that are specific to SQL Server components. To create reports, choose from the Report Server Project or Report Server Project Wizard templates.

A Data tab, Layout tab, and Preview tab allow you to define data, create a report layout, and preview the report in the same workspace.

Deployment and distribution

Redistributable controls and .rdlc files can be included in your application. You can also pass in report definition as a stream.

ReportViewer hosts the report in a form or Web page in an application that you create and deploy.

The ReportViewer toolbar provides page navigation, print, search, and export formats to support run time operations.

Deploy a SQL Server Reporting Services report server. Report definitions are stored in a report server database, processed on a server, and viewed in a browser-based application or custom application.

A report toolbar provides page navigation, print, search, and export formats.

Viewing tools and SharePoint Web parts can be used to view reports on demand.

Distribution features include subscription-based report delivery to e-mail addresses and file share locations.


Customization is supported through the API.

You can also set properties on reports and the ReportViewer toolbar to determine visibility and feature availability.

Extensions can be created to add support for data processing, report delivery, custom authentication, and report rendering.

You can set properties on the report, the report toolbar, and report server.

Additional customization is supported through an extensive API.


Search for ReportViewer Controls (Visual Studio) in the Visual Studio product documentation or on MSDN.

Reporting Services is documented in SQL Server Books Online.

Ice Porter generates RDLC files when converting reports from Report Builder.

These are effectively plain XML files that follow the Reporting Services conventions and are opened and interpreted at runtime.

The difference between server-based RDL and client-based RDLC files is information about the data source. Files used by SQL Server Reporting Services contain the SQL statements to retrieve the report's source data whereas RDLC files are fed with data interactively at runtime - which is done by the PPJ Framework.

Last updated