A client recently asked me to prepare to train someone on SQL Server Reporting Services for their latest project. The project was a Visual Studio 2005 Beta 2 Windows Forms project, with an ASP.NET project also involved. Knowing that Reporting Services in Visual Studio 2003 is a Business Intelligence project that is added as another project in a solution consisting of many projects, I wondered how Reporting Services would be handled in Visual Studio 2005 since a solution in the new IDE is always one project, not multiple projects.
Also, SQL Server Reporting Services for Visual Studio 2003 has a complex architecture that relies heavily on SQL Server 2000, so I was worried that my client had decided to use SQL Server 2000 for their project’s data. I was concerned that the support for Visual Studio 2005 Reporting Services would rely on SQL Server 2005, which would mean that we could not take advantage of this reporting capability.
What I have learned is that Reporting Services now works in two processing modes: Remote and Local. Remote mode uses a five-part architecture: a Windows Forms application for designing reports inside of Visual Studio; a Web Forms application for managing reports, folders, security, caching, and data; a Windows service for running reports; two SQL Server databases to hold the compiled version of deployed reports; and finally a web service to allow code manipulation of the reports. Local mode uses only those elements available inside a Visual Studio 2005 application, whether it be a Web Forms or a Windows Forms application.
I’ve liked many aspects of Reporting Services since its inception, but for some applications I didn’t want to rely on the existence of a remote server on my target client. This problem is now solved, as I can use Reporting Services either remotely or locally.
Remote processing mode still provides many services unique to its architecture, such as SQL Server type security, scheduled email reporting, and secure reporting via public HTTP URLs.
All of these features work very similarly for Web Forms and Windows Forms applications, which is a major positive. In the Visual Studio Toolbox, within the Data group of controls, there is a ReportViewer control that may be dragged to a form. In Windows Forms, you can Dock it to All so that it takes over the form entirely with a nice tool band at the top for Paging, Zooming, Output formats, etc. In Web Forms, you can set the width to 100% and the height to 100% to get the similar effect.