We are using jasper version 6.6 we have cross tab used to output data in excel format. the number of row are 500 and columns are 68.
With memory capacity of 2GB the process fails with out of memory. However if we reduce the number of columns to around 50
the conversion is successful.
We have posted the same query on stack overflow too.
Appreciate if someone can please guide.
Crosstabs have to perform in memory calculations to do the binning/bucketing associated, and therefore keep the entire dataset in memory. This in turn can be very resource intensive. Your best bet is to increase the memory available to jasper, alternatively you'll need to look into A) pushing the binning/bucketing into the SQL and convert your report to do more of a SELECT * From db, standard detail band approach B) see if you can remove any buckets (column or row groups) from your crosstab.
If you do some digging, you can get a more detailed explanation of why jasper crosstab's hold data in memory, but if you think about it, it has to - it has to perform grouping/binning and any measure calculations after the data is grouped.