- Report Server Web and Windows Service
- Programmatic Interfaces
- Report Processor
- Command-Line Utilities
- Reporting Services Extensions
- Report Server Databases
- Scheduling and Delivery Processor
- Report Builder NEW in 2005
- Report Model Designer NEW in 2005
- Report Designer
- Report Manager
- SQL Server Management Studio NEW in 2005
- Reporting Services Configuration Tool NEW in 2005
- RSPrintClient Control NEW in 2005
- Performance Monitoring Objects
- Summary
- WMI Provider
Reporting Services Extensions
An extension is a .NET Assembly that is invoked by the Report Processor to perform certain processing functions. There are several types of extensions: Data Processing, Delivery, Rendering, Security (authentication and authorization), SemanticQuery, ModelGeneration, and EventProcessing.
For an extension to be used by a report server, it has to be installed (assuming default SSRS configuration) to the C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin directory and configured in C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\rsreportserver.config.
The last part of an extension filename usually implies the extension's functionality. For example, the HTML rendering extension's filename is Microsoft.ReportingServices.HtmlRendering.dll.
Custom extensions allow developers to add complementing functionality that is not available in SSRS "out-of-the-box." For example, a company can implement an extension that delivers reports to a phone or a fax. You can learn more about extensions in Chapter 26, "Writing Custom Reporting Services Extensions."
Data-Processing Extensions
Data-processing extensions retrieve data from the report data source. Some of the tasks performed by data-processing extensions include open connection to a data source, analyze query and return field names, pass parameters, and retrieve and iterate data set. Table 3.1 outlines the data-processing extensions included and configured with SSRS.
Table 3.1. Data-Processing Extensions Configured with SSRS
Extension |
Description/Notes |
SQL Server |
Connects to and retrieves data from the SQL Server database engine versions 7.0 through 2005. |
OLE DB |
Connects to and retrieves data from OLE DB-compliant data sources. |
Microsoft SQL Server Analysis |
Connects to and retrieves data from the SQL Server Analysis Services Services 2000 and 2005. For Analysis Services 2005, this extension supports both Multidimensional Expressions (MDX) and Data Mining Expressions (DMX). For Analysis Services 2000, this extension supports nonparameterized MDX only. |
Oracle |
Connects to and retrieves data from an Oracle database; requires Oracle client 8i Release 3 (8.1.7) to be installed on a computer on which Reporting Server is installed. |
ODBC |
Connects to and retrieves data from ODBC-compliant data sources. |
XML |
Retrieves XML data from any XML web source (such as a web server) that can be accessed through a URL. |
All extensions, which are installed with SSRS (except XML), leverage corresponding .NET data providers. Microsoft.ReportingServices.DataExtensions library provides wrapper classes that supply SSRS data-processing extension interfaces to .NET data providers.
Developers can create additional custom data-processing extensions.
Delivery Extensions
Delivery extensions deliver reports to specific devices or formats. Extensions included with RS include email and file share delivery. The delivery method and, therefore, corresponding extension are selected when a user (or an administrator) creates a subscription.
A sample of printer delivery extension is included with SQL Server samples and discussed in Chapter 26. Table 3.2 outlines the delivery extensions included and configured with SSRS.
Table 3.2. Delivery Extensions Included with SSRS
Extension |
Purpose |
Email delivery |
Delivers a rendered report to an email inbox. Allows setting delivery options that control an output format and whether the report is delivered as a link or as an attachment. |
File share delivery |
Delivers a rendered report to a shared folder. Allows setting delivery options that control a destination folder path, an output format, and whether the report overrides an older version or is added as a new version. |
Developers can create additional custom delivery extensions.
Rendering Extensions
Report Server Rendering extensions transform a report's layout and data into a device-specific format. Extensions included with RS include HTML (3.2 and 4.0), Microsoft Excel, Text/CSV, XML, Image (BMP, EMF, GIF, JPEG, PNG, TIFF, WMF), and PDF rendering.
Because the final rendering phase is only loosely coupled with data processing, it enables users to choose different rendering options for the same report without the need to requery data sources.
Developers can create additional custom rendering extensions.
Security Extensions
This book frequently uses the term "security extension" as if it refers to a single unit. In actuality, there are two interrelated extensions:
- Authentication extension, which handles a process that establishes user's identity
- Authorization extension, which handles a process that checks if an identity has access to a particular SSRS resource
SSRS includes a security extension based on Windows authentication. After a user's identity is established, an authorization process determines whether a Windows user (or a Windows group that contains a user) is configured to access a particular resource on a reporting server.
Developers can create additional custom security extensions. An instance of SSRS can use only one security extension. In other words, either the Windows or a custom extension can be used, but not both at the same time.