views:

37

answers:

2

We want to deliver reports with over 600,000 rows.

we use asp to create a report, but it times out and truncates the report.

can u make a suggesion as to prevent the report from timing out.

A: 

Set the asp script timeout in IIS:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/2275a2ba-5b12-4e18-8266-8a3b0678e419.mspx?mfr=true

Tahir Akhtar
suppose our report lasts longer than 90 secsa solution where it could be downloaded like a file, would be best, example as is done with json 'Content-type: application/json'
Even in that case you will need to set the script timeout (assuming that all your work is being done in the script and you are not spawning an external process/thread).
Tahir Akhtar
A: 

A solution we have used previously:

Send the report request off to a message queue for processing and pop-up a window which tracks the status of the request.
As the message queue processes the request, the status on the database gets updated (basically where the pop up window is pinging, a simple table will suffice)
When the report is done it is dumped in a 'bucket', the database being pinged is now updated with a link to the report in the bucket.
Next time the pop up window sees that the report has been processed, it displays the link - user clicks on link and can view report.

Clunky, but it works.

Alternatively, if you're using SSRS, is there no way you can used cached reports/snapshots to prepare the report in advance then just dump it to a known location e.g. fileshare/moss page?

adolf garlic