By Stefan Kowalewski, Tomek Stojecki and Ethan Wilansky

Problem: You’re developing reports that will be hosted in SharePoint 2010 and need to promote shared data connections (.rsds files) and reports (.rdl files) from one environment to the next; for example, from development to QA and eventually to a production environment.

When you do promote the reporting artifacts, error messages, such as “The report server cannot process the report or shared dataset. The shared data source '<data source name>' for the report server or SharePoint site is not valid. Browse to the server or site and select a shared data source. (rsInvalidDataSourceReference)” appear.

Possible Solution: To make the deployment of reports through the development, QA and production environments smoother, start by keeping the names of the data connection libraries and files the same in all environments. This will prevent the need to change the data connection library and data connection file name as reports that use the shared data connection get promoted from one environment to another.

Also, the actual data connection properties (i.e. database server name) will likely vary from environment to environment. Once you’ve set the data connection properties for a shared data connection in each environment, you shouldn’t have to make that modification again as long as the data sources don’t change.

Take note when using spaces in the name of your report. When you download a copy of your report to deploy to another environment SharePoint 2010 will replace those spaces with underscores.

Once the data connection information is the same in all environments, the only change necessary in the report file is the absolute URL of data connection library on the target SharePoint site to which the report will be deployed. Since the report file (.rdl) is an XML file, you can write a script to update the URL for the appropriate environment.

Alternatively, open the .rdl file in an xml or text editor and modify the absolute URL to the data connection library. Unfortunately, relative URLs do not work.

See more SharePoint Q&As:

Sharepoint Q&A: How Can I Create an External List When SharePoint Throws an Unspecfied ASP.NET Error?

Sharepoint Q&A: How Can I Create an Action for an External Content Type in SharePoint?

Sharepoint Q&A: How to Make a Type String Type Descriptor a Required Field in the BDC Explorer

Sharepoint Q&A: Data Source Conflict