none
Reports with a custom Datasource are unable to point to the precreated Datasource when the report MP is imported

    Question

  • We are creating our reports in Visual Studio 2005 and have a custom Datasource (Shared).

    We create a Datasource in SCOM reporting with the same name and then when the MP with the reports is imported, it fails to pick it up with the following error:

    HealthService Modules: 31567

    Failed to deploy reporting component to the SQL Server Reporting Services server. The operation will be retried.

    Exception 'DeploymentException': Failed to deploy reports for management pack with version dependent id '798eeaa1-05fd-4e37-bf1c-86ef0d967596'. Failed to deploy report 'Exchange2010.Reports.FromSCOM.MailboxServiceXXXX'. AdjustDataSources: Exception <ErrorCode xmlns="http://www.microsoft.com/sql/reportingservices">rsInvalidParameter</ErrorCode><HttpStatus xmlns="http://www.microsoft.com/sql/reportingservices">400</HttpStatus><Message xmlns="http://www.microsoft.com/sql/reportingservices">The value of parameter 'DataSources' is not valid.</Message><HelpLink xmlns="http://www.microsoft.com/sql/reportingservices">http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsInvalidParameter&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=9.00.4035.00</HelpLink><ProductName xmlns="http://www.microsoft.com/sql/reportingservices">Microsoft SQL Server Reporting Services</ProductName><ProductVersion xmlns="http://www.microsoft.com/sql/reportingservices">9.00.4035.00</ProductVersion><ProductLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">127</ProductLocaleId><OperatingSystem xmlns="http://www.microsoft.com/sql/reportingservices">OsIndependent</OperatingSystem><CountryLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">1033</CountryLocaleId><MoreInformation xmlns="http://www.microsoft.com/sql/reportingservices"><Source>ReportingServicesLibrary</Source><Message msrs:ErrorCode="rsInvalidParameter" msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsInvalidParameter&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=9.00.4035.00" xmlns:msrs="http://www.microsoft.com/sql/reportingservices">The value of parameter 'DataSources' is not valid.</Message></MoreInformation><Warnings xmlns="http://www.microsoft.com/sql/reportingservices" />

    One or more workflows were affected by this.

    Workflow name: Microsoft.SystemCenter.DataWarehouse.Deployment.Report

    **************************************************************

     

    Report datasource code:

    <DataSources>
        <DataSource Name="SCDW_Cust">
          <rd:DataSourceID>81a3dc72-e9d5-4588-ab6b-a791d0763584</rd:DataSourceID>
          <DataSourceReference>SCDW_Cust</DataSourceReference>
        </DataSource>
      </DataSources>

     Once imported, I have to go to each report and manually point it to the Datasource and it works.



    Thursday, April 28, 2011 11:23 AM

Answers

  • Ok so i found the difference between the good reports and repors uploaded by the MP. When i look into the dbo.datasource Table in the reportserver Database, i found Link column NULL.

    Used this query to fix the problem, however i am not sure how to create the report/MP to avoid this issue to come in the first place.

    DECLARE
      @Link uniqueidentifier

    SELECT @Link = ItemID FROM dbo.Catalog 
     WHERE Type = 2 -- Select the correct Datasource

    BEGIN TRAN

      UPDATE dbo.DataSource 
      SET Link = @Link
      WHERE ItemID IN
        (SELECT c.ItemID FROM dbo.Catalog c 
         INNER JOIN dbo.DataSource ds ON ds.ItemID = c.ItemID 
      WHERE c.type = 2 -- reports 
      AND   ds.link is null
        )

    COMMIT TRAN

     



    Friday, June 10, 2011 10:10 AM

All replies

  • I think that when you publish the report from VS it actually tries to create that custom datasource for you and it fails for some reason? Im not sure. Because the datasource you created does have the same name but perhaps not the same ID, it cant connect the dots yet. Perhaps thats why you now need to re-assign the datasoruce to every report after importing.

    anybody else with some thought about this?


    Bob Cornelissen - BICTT (My BICTT Blog)
    Thursday, April 28, 2011 3:06 PM
    Moderator
  • When you say you manually point it to the data source, what change is it that you are making to what - is it the MP?  Or so you update something in SRS?

    Also, I do not think you can have a datasource definition (named SCDW_CUST) reference itself.


    Microsoft Corporation
    Thursday, April 28, 2011 3:58 PM
  • @Dan, I have to go the reportserver web site and open each of my reports, and change the point it to the datasource in the properties.

    can you tell me more about "" Also, I do not think you can have a datasource definition (named SCDW_CUST) reference itself."" please..

    @Bob : Yes, the DS on the reportserver has a different ID.

     


    Friday, April 29, 2011 5:35 AM
  • Basically what we need is to see if it is possible to create a custom data source in SQL reporting and configure the reports to point automatically to that precreated datasource (which will have a specific name) after the MP is imported into SCOM.

    Friday, April 29, 2011 5:51 AM
  • Ok so i found the difference between the good reports and repors uploaded by the MP. When i look into the dbo.datasource Table in the reportserver Database, i found Link column NULL.

    Used this query to fix the problem, however i am not sure how to create the report/MP to avoid this issue to come in the first place.

    DECLARE
      @Link uniqueidentifier

    SELECT @Link = ItemID FROM dbo.Catalog 
     WHERE Type = 2 -- Select the correct Datasource

    BEGIN TRAN

      UPDATE dbo.DataSource 
      SET Link = @Link
      WHERE ItemID IN
        (SELECT c.ItemID FROM dbo.Catalog c 
         INNER JOIN dbo.DataSource ds ON ds.ItemID = c.ItemID 
      WHERE c.type = 2 -- reports 
      AND   ds.link is null
        )

    COMMIT TRAN

     



    Friday, June 10, 2011 10:10 AM