Once you deploy reports on to Report Server they can be accessed from any Web application with an established URL. However, I see a scenario when one wants to prevent some users from accessing reports (e.g. a user should be able to view reports presenting only their personal information).
The way around this is to view reports on an aspx page by employing ReportViewer control, which makes it possible to view reports hosted locally or deployed on (in particular remote) ReportServer. I’ve chosen the former approach.
In order to use ReportViewer with reports hosted locally, you need to:
In this post I’ll describe how to deploy RDL files using Report Manager (more often http://localhost/Reports or http://localhost/Reports$SQLExpress).
Note: This description applies to the situation where Microsoft SQL Server is used.
- Go to Report Manager
- Too keep all clean, you can create a folder in which you will keep all your reports
- Create the data source, if not yet existing, by selecting the New Data Source link.
- Specify Microsoft SQL Server as the Connection Type.
- Specify the database Connection String as follows:
data source=[Name of database server SQL Instance];initial catalog=[Name of database]
- Connect Using the Credentials stored securely in the report server and specify the user name and password used to connect to SQL Server instance installed in the database server.

Datasource configuration
- Upload the report by selecting the Upload File link and navigate to the RDL file stored in the system.
- Using Show Details view, edit the uploaded reports by selecting the Edit link.
- Under the Data source link, assign the previously created shared datasource as the source of data for the report.
Note: The “Apply” button needs to be selected to apply the changes made for the report.
In one of the projects I had to create reports (using Reporting Services) that then should be accessible from the application I’ve been developing.
As the first thing I created the reports themselves (RDL files), deployed them using the Report Manager (more often http://localhost/Reports or http://localhost/Reports$SQLExpress), and configured so I could access them. However, each time I accessed a report I had to provide the input parameters which were used by the stored procedure in order to deliver appropriate amount of information. I wanted to avoid that by passing the parameters somwhowin the URL.
Google came with two interesting articles: Using SQL reporting services in an asp.net application with some notes on report parameters, and Passing parameters and other options directly through a URL in Reporting Services. I followed the instructions but failed. In fact I got stuck making minor changes to the URL, checking the configuration, googling further…
It was only my friend who spotted that I tried to pass the parameters to the Report Manager using URL similar to http://localhost/Reports/Pages/Report.aspx?ItemPath=XXX&rs:Command=Render&ParamName=ParamValue. Instead I should use the Report Server, so link looking this way: http://localhost/ReportServer/?XXX&rc:parameters=false&rs:Command=Render&ParamName=ParamValue.
Note: Please remember there are two services: Report Manager and Report Server and understand the difference between them. This way you won’t loose presous time, as I did
When I run a report in the Report Manager using Internet Explorer (I had this issue on IE7) I got the following error:
Your browser does not support scripts or has been configured not to allow scripts./blockquote>
Should you get it as well follow the instruction below:
- go to (from its menu) Tools/Internet Options
- go to Security tab
- select Trusted zone from the list of available zones
- click Sites button
- in new window provide the URL of the Reports Manager (e.g. http://MACHINE_NAME/*); if you are running Reports Manager not on the default port, provide the port number as well
That helped me.
Should you have any problems with it, let me know.
Image by leorolim via Flickr
Quite late but anyway…
From 18:16 UTC on June 17, 2008 to 18:16 UTC on June 18, 2008, 8,002,530 people downloaded Firefox, which resulted in getting Guinness World Record for the most software downloaded in 24 hours. Please look there to see the map of Firefox downloads worldwide and read more about the Guiness World Record.
I’m proud of taking part in that event! As a thank-you I’ve obtained the special certificate (in Polish):
