Quite often we come across a problem that our
developed report works fine on development and test environments. However, when
deployed to LIVE, customers are having issues that report is timed out!! The
reason is that our development environment do not have huge data like our LIVE
system so it timed out after 10 minutes. Default timeout of AOS and SSAS
interaction is 10 minutes so if your report is taking more time to fill up
datasource/temptable then you will have time out error after 10 minutes.
This issue is more common in reports like trial
balance and customer aging reports which takes longer to fill report temp
tables.
There are two possible solutions
- Increase
the default time out setting for all
- To perform
following to mitigate time out error
By performing following steps you will be able to
increase the time out for reports that takes longer than 10 minutes.
Recommendation is to always execute these reports in batch as it will keep your
AX client busy and you won't be able to perform any other task during that
processing.
1.
Extend your RDP class from SSRSReportDataProviderPreProcess instead of SSRSReportDataProviderBase
2.
Update your table type (from table
properties) from InMemory to TempDB
3.
Perform full compile of IL
4.
Restart the AOS
5.
Introduce controller class to run the
report (if not already there)
6.
Point your menu item from actual report
to controller class
You will have following differences after this
modification
1.
Will not have "A connection attempt failed because the connected
party did not properly respond after a period of time" error.
2.
Will not see the report window immediately.
AX will fill up the temp table and then display report window.
3.
Still should put such jobs in batch as
it will keep your AX in the process and won't allow to perform any other
operation.