Hi,
I really really need some help with the problem below. I
am having problems trying to run reports from a VB.Net application. The problem
is as follows:
SQL Server 2005, SQL Server Reporting Services and the VB
.NET application called ‘risk-op’ are on a server.
A user tries to access the application from a remote
computer. The application is displayed and the user is able to do everything.
However when the user tries to click ‘Go’ for one of the reports the following
error is displayed:
An
error has occurred during processing (rsProcessingAborted)
Cannot
create a connection to data source ‘risk-op’ (rsErrorOpeningConnection)
This error occurs
because the user is not a user on the SQL server database. However if I add the
user to the database the user is able to then view the report.
The
reason for this is because reporting services is configured to use windows
authentication as shown below. As a result when the user presses ‘Go’ to view a
report, reporting services tries to connect to the database using windows authentication
and if that user is not setup as a user on the database the user is then not
able to view the report.
I need to get around this problem. I don’t want to have to
manually add users to the database every time (that maintenance for a couple of
hundred people would be a disaster!)
I believe that a way around this would be to use ‘Credentials
stored securely in the report server’ in SQL Server Reporting Services. Is this
the way to do it and if so, where do I add these credentials to the report
server?
I came across an article that said “Credentials are stored in
reversible encryption in the report server database. You can specify one set of
stored credentials for each data source used in a report. The credentials you
provide retrieve the same data for every user who runs the report.”
How do I add these credentials and is this the answer to my
problem?
Do I have to change something in the RSreportserver.config
file?
Any help would be much appreciated, thanks!
Ian
No you can simply switch that in the data source section by specifying a custom data source for the report. By switching, you will use SQL Server Authentication instead of Windows Authentication.
If you want to do that on a server level and you want to use Windows authentication rather than SQL Server authentication, you could use one Windows User for Reporting Services, enable Anynomous authentication on the Web Server and specify the use under the IIS context for Anonymous Authentication.
HTH, Jens Suessmeyer.
http://www.sqlserver2005.de|||
Hi Jens,
Thanks for your reply.
You said,
“No you can simply switch that in the data source section by specifying a custom data source for the report. By switching, you will use SQL Server Authentication instead of Windows Authentication.
If you want to do that on a server level and you want to use Windows authentication rather than SQL Server authentication, you could use one Windows User for Reporting Services, enable Anynomous authentication on the Web Server and specify the use under the IIS context for Anonymous Authentication.”
Ok so in the web front end of SQL Server Reporting Services I just untick Windows auth and tick SQL Server auth instead? I tried doing this but it didn’t work. (presumably because I hadn’t created the SQL Server user to authenticate? Is it just a case of creating a user on the database?)
You then say “you could use one Windows User for Reporting Service”, how do I do this?
“enable Anynomous authentication on the Web Server” – I have that done in IIS on the web server for the folder ‘risk-op’ which is where my application is but do I actually have to allow anonymous access somewhere else?
Thanks again, your help is much appreciated,
Ian
No comments:
Post a Comment