Wednesday, March 28, 2012

rsErrorOpeningConnection

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

|||Has there ever been a final resolution to this? I am having a similar problem.sql

No comments:

Post a Comment