views:

764

answers:

1

I'm using SQL Server 2005 with Reporting Services. I have many reports installed, some using shared data sources and some not; some go to web services, some to sql server databases, and now I'm trying to connect to a DB2 database.

I have successfully created a shared data source and report in Visual Studio 2005. I can pull data just fine and display it on my report in the designer. I am now trying to install the report and datasource through the ssrs web service (the same way I have for all other reports).

The problem is that most of our data sources use Integrated Security, and for this data source I am using 'Credentials are not required' since they are listed in the connection string. Here's my install code:

Dim definition As New ServiceProxy.DataSourceDefinition

definition.ConnectString = connectionStringIncludingUsernameAndPassword
definition.Extension = "OLEDB"
definition.CredentialRetrieval = ServiceProxy.CredentialRetrievalEnum.None 

ServiceWebService.CreateDataSource(dataSourceName, containingFolderFromRoot, True, definition, Nothing)

This also works fine and gives no errors, and appears to create the datasource properly in ssrs. But when I go to run the report I get this error:

The current action cannot be completed because the user data source credentials that are required to execute this report are not stored in the report server database. (rsInvalidDataSourceCredentialSetting)

My report is properly connected to my data source, and my data source is properly set to credentials not required, so it is all the same as it is inside Visual Studio. I'm out of ideas.

A: 

The problem was several fold:

  1. the user name and password were listed in the connection string instead of inside the server
  2. the db2 connect software installed on the report server was out of date (8 instead of 9)
  3. the user group 'DB2Users' did not have any members

After correcting these problems, the report works!

danlash