We help IT Professionals succeed at work.

Push vs Pull method for Crystal reports with .net 4.0


I have a windows based .net service that handles the creation of my digital documents within an automated work flow. The .net service basically retrieves data from an SQL table as a dataset and then pushes(binds this dataset to a crystal reports 8.5). I have been tasked with rewriting this service and I am at a crossroads where I have to decide if I want to use push or pull method. The service is going to be using .net framework 4.0 and crystal reports 2008. It's a 24 hour service that sits on a server that has nothing else running but the service. It's a critical application, the volume is pretty high sometimes upto 300 jobs. The service basically will overlay the text(dataset) on to the Crystal report. We do often add new templates, which method is ideal push or pull for such an application.
Watch Question

Top Expert 2011
You probably have limit for the number of reports that can be simultaneously opened. By default 5 reports for crystal 8.5, but in order to use Framework 4.0 you will need to upgrade to Crystal Reports for VS2010 where the default limit is 3.

If you use pull method the process will look like:
 - Load the report
 - Retrieve data
 - Export the report
For push data the process will be:
 - Retrieve the data
 - Load the report
 - Set data
 - Export the report

Since “Set data” will be faster than “Retrieve data” you will have the report loaded for shorter time with push method than with pull method. This means that using push method you will be able to process more reports per fixed period (retrieve data can be processed in a thread and my guess is that the slowest part of the system is crystal report not the database)
Push method will give you another significant advantage – you can process a report with subreports with one call to the database. Pull method will call the database one time for the main report and one time per each subreport.
Mike McCrackenSenior Consultant
Most Valuable Expert 2011
Top Expert 2013

Another advantage of the push method is you don't need to change the report to use the database.



Thanks for the help