Microsoft Reports using RDLC
Posted by denglishbi on June 25, 2009
After working with Reporting Services since the beta product when it was code named ‘Rosetta’ I finally got my first look at using the Microsoft reporting feature that is part of Visual Studio. I have used the Crystal Reports option within Visual Studio in the past, so I was familiar with the development environment. The Microsoft local report files that are available for you to use within your .NET applications, Windows or Web based, are Reporting Service reports with the exception that they are RDLC files.
Some of the things that are different compared to creating Reporting Services server based reports are the following:
- Does not require a Report Server to be running and available
- You can connect reports to .NET datasets or business objects
- You use the Microsoft Report Viewer control to display the reports
- Does not support report parameter prompting
- You do not get a preview mode when designing the reports
- Does not support all of the SSRS server based report features
- Allows for exporting to PDF and Excel only
It definitely took me a little while to get familiar with creating RDLC reports since I have been using SSRS 2008 and developing server based reports for so long. I missed having the preview option, but you can preview the data if you are using a .NET dataset.
The other thing that threw me for a loop was the configuration of subreports and drillthrough (jump to report navigation) reports. In order to get subreports and drillthrough report options to work this required you to setup additional event handlers. Initially when I was setting this up I was like ‘yeah, you can do subreports and drillthrough…no problem’. Then I actually setup the reports and tried to get these features to work and I was like…hmmm, not as straight forward as I expected. I guess I have really been taking the whole Report Server for granted over the years.
Luckily there is an outstanding web site that is available that explains everything about the Report Viewer control and provides really nice code examples to take a look at – http://gotreportviewer.com.
The thing to remember though is that if you want to use the local report option within Visual Studio is that this product gets released prior to SQL Server being released. That means that when you hear about new Reporting Services features like tablix, advanced visualizations, rich text support, etc. that these will not be available to you in Visual Studio 2008. This version currently supports the SSRS 2005 features. The next version of Visual Studio 2010 will have the updated Report Viewer control that will support SSRS 2008 features, but then when SQL Server 2008 R2 comes out you will not have those new features like the mapping capabilities. Other features that you will not have access to would be subscriptions, report execution history information, and ad-hoc reporting capabilities.
For a complete list of the differences of the RDLC vs. RDL take a look at this online documentation – Reporting Services and ReportViewer Controls in Visual Studio. There are a couple of minor things I found that were either incorrect or missing in the documentation like Report Server no longer requires IIS with SSRS 2008 and also the fact that it now includes Microsoft Word rendering capabilities.
If anyone talks about ‘Microsoft Reports’ in the future I will now know what they are referring to. I found it mentioned in the online documentation here – Microsoft Reports. I never knew what people meant when they said that before. I was always like ‘do you mean Reporting Services?’ Maybe they did, but I guess either way it is a form of Reporting Services.