"Cannot create a connection to data source CRM" error when running a Microsoft Dynamics CRM report in the SRS Report Manager or SRS Report Server

This article provides a resolution for the issue that you may receive a Cannot create a connection to data source 'CRM' error when you run a Microsoft Dynamics CRM report in the SRS Report Manager or SRS Report Server.

Applies to:   Microsoft Dynamics CRM 2011
Original KB number:   2006869

Symptoms

You receive the following errors when you run a Microsoft Dynamics CRM report in the SRS Report Manager or SRS Report Server:

An error has occurred during report processing (rsProcessingAborted)
Cannot create a connection to data source 'CRM.' (rsErrorOpeningConnection)
Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

An error has occurred during report processing. (rsProcessingAborted)
Cannot create a connection to data source 'CRM'. (rsErrorOpeningConnection)
For more information about this error navigate to the report server on the local server machine, or enable remote errors.

Cause

This error occurs in Microsoft Dynamics CRM 2011 because the Microsoft Dynamics CRM Reporting Extensions requires the user's SystemUserId value as the Log in name and the user's OrganizationId value as the password.

When a report runs inside Microsoft Dynamics CRM, these values are passed automatically. These values must be entered manually when the report is run directly from SQL Server Reporting Services.

Resolution

Obtain the SystemUserId and OrganizationId from the database and manually enter the values using the following steps:

  1. Connect to the SQL server machine that contains the Microsoft Dynamics CRM databases as a user that has admin rights to SQL Server.
  2. Select Start, select All Programs, select Microsoft SQL Server, and then select SQL Server Management Studio.
  3. Select New Query.
  4. Select File, select New, and then select Database Engine Query.
  5. Select your <organization>_MSCRM from the dropdown list.
  6. Execute the following query:
    • Select FullName, SystemUserId, OrganizationId
    • From FilteredSystemUser
    • Order by FullName
  7. Locate the user that will run the report.
  8. Enter the SystemUserId value into the Login Name box on the report.
  9. Enter the OrganizationId value into the password field on the report.
  10. Run the report.

More information

This approach should only be used for troubleshooting Microsoft Dynamics CRM reports. To run Microsoft Dynamics CRM reports outside of Microsoft Dynamics CRM, the reports should be published for external use. By publishing the report for external use, you will connect to the Microsoft Dynamics CRM data using a SQL server connection string and will not be prompted to enter credentials.

To publish reports for external use, complete the following steps:

  1. Open Microsoft Dynamics CRM, and then select Reports.
  2. Select the report, and then select Edit Report.
  3. Select the Actions menu, and then select Publish Report for External Use.

This will create a copy of the report in the root of the <OrganizationName>_MSCRM folder in SQL Server Reporting Services. This copy of the report will use the MSCRM_DataSource that is located in the root of the <OrganizationName>_MSCRM folder. This data source uses Microsoft SQL Server as the Connection type and Windows-integrated security.