How do you load subReports in ReportViewer in remote processing mode using LoadReportDefinition
We have a reportViewer control on a web page that renders reports in Remote ProcessingMode.
However, it does not access the reports from the SSRS server, it loads them from our own repository, and sends the Stream of the RDL file to LoadReportDefinition.
This works fine when there are no SubReports. However, I am not sure how to handle SubReports.
I know that in Local ProcessingMode you have to handle the events to load the SubReports manually, and that in normal Remote ProcessingMode when running a report stored on the server, it handles the SubReports for you.
But what is the process for handling SubReports for Reports in Remote Processing mode that are rendered with LoadReportDefinition?
Should I handle the event and load the SubReport manually somehow using LoadReportDefinition again? Or is it simply not supported?
July 11th, 2012 12:39pm
Hi jth001,
From your description, do you mean the ReportExecutionService.LoadReportDefinition method or the LocalReport.LoadReportDefinition method? If it is the former method, subreports and data source references with relative paths are not supported using this
method. However, absolute paths to catalog items can be used. For more information, please see:
ReportExecutionService.LoadReportDefinition Method
If it is the latter, you need to call LoadSubreportDefinition method and provide data for any subreports. Fore more information, please refer to:
LocalReport.LoadReportDefinition Method
LocalReport.LoadSubreportDefinition Method
Regards,
Mike Yin
TechNet Subscriber Support
If you are TechNet Subscription user and have any feedback on our support quality, please send your feedback
here.
Free Windows Admin Tool Kit Click here and download it now
July 14th, 2012 10:34am
It is the ServerReport.LoadReportDefinition, which I believe has the same functionality as the previous ReportExecutionService.LoadReportDefinition
I've searched elsewhere online and found that as of November 2011, SSRS did not support Sub Reports when using ServerReport.LoadDefinition to load the report unless the Sub Report was stored in the SSRS server, which is not what we can do, because we have
to dynamically change too many things, including the database connection at runtime.
So it looks like we'll have to use LocalReport.LoadReportDefinition, which means writing all the code to handle Sub Reports, and all the code to populate our own Parameter entry fields, and all the code to extract the SQL Queries from the RDL files and execute
them ourselves.
The only other possibility is that the next release of SSRS includes support for Sub Reports when using ServerReport.LoadReportDefinition.
If anyone knows whether the next release of SSRS will include it, that would be great information. I've seen multiple requests to Microsoft to make this enhancement, going back as far as 2008, but the response is always that they will consider it for
the next release, so I'm not getting my hopes up.
July 14th, 2012 10:46am