Error "Unable to cast object of type 'CrystalDecisions.CrystalReports.Engine.ReportDocument' ..." when using the DSNSetter tool to update reports

Version 3

    Verified Product Versions

    Service Desk 7.6Service Desk 7.7.xService Desk 7.8.xService Desk 2016.xAsset Manager 2016.x

    Environment:

    Service Desk all versions

     

    Requires Access To:

    Crystal Reports (the report designer application)

     

    Problem:

    When you use the DSN Setter tool (CrystalReportsDSNSetter.exe) to update the database settings on your Crystal reports, you get the following error in the log file:

    Unable to cast object of type 'CrystalDecisions.CrystalReports.Engine.ReportDocument' to type 'CrystalDecisions.CrystalReports.Engine.SubreportObject'.

     

    Cause:

    The DSN Setter tool does not support the update of a report if it contains subreports. See Setting the Crystal Reports DSN on the online help.

     

    Solution:

    You need to use Crystal Reports to set the data source location both for the report itself and any subreports inside the report. In Crystal Reports, from the Database menu, click Set Datasource Location. Update the Datasource Location for the report and all of the subreports.

    See also "Appendum 3 - Subreports" in the document Configuring Crystal Reports with a Service Desk SQL Database