Hi everyone.
In our company we are using SSRS with SQL 2012 SP1 to generate invoice style reports which may contain multiple pages. Our reports have
a header displaying customer address information and a footer displaying our company information.
Currently we are using internal parameters (about 50) to fill the parameters from dataset queries. This works fine as long as we render the report for example in a web browser (rendering time is in most cases < 1s). Our only visible parameter is the id of the invoice which we want to render.
We also have the requirement to render the invoices programatically as a PDF for creating our print outs of the invoices. This is achieved by calling the webservice which also works so far. However we encountered a serious performance impact when rendering programmatically ( > 5s ).
After debugging and SQL profiling I found out that by calling SetExecutionParameters the report is re-querying each dataset that is associated with each of the hidden parameters. Which of course will result in many SQL queries.
Is there a better way of building our reports to increase the programmatic rendering performance?
Best regards
Stefan