cancel
Showing results for 
Search instead for 
Did you mean: 

Our of Memory Exception

Hello , In Excel sheet i have 40000 records, by using OLDB i have taking into OLDB Collection. After some records processed (nearly 35000+records) im getting memory issue and Blueprism is getting close. is they any alternative way to achive this I have use sleep stage ,after processing every 10000 records but still no use. Thanks, Naveen 
2 REPLIES 2

AndreyKudinov
Level 10
When you do something in VBO, it keeps copies of the data after passing it back to a process/parent VBO. Copies waste memory. You can try merging data retrival and processing within one VBO and store data in shared collection, but you'll hit some limit sooner or later anyway.

AmiBarrett
Level 12
What exactly are you trying to do with the data? Do you need to use 100% of the data, or only a specific subset? If it's a subset, you can probably make a duplicate action that filters the collection before passing it back. If you set the output collection object to be the same as the input, you'd be left with less of it to take up memory. If you need to keep track of the actual row position in the spreadsheet as well (which would by default be difficult to track on a filtered collection), you could either modify the code stage to also grab the row position, or use another action prior to the filter to append an autoincriment index column to the collection. This is an extreme hack, but you could also have your process call a sub process that does all of your reading in excel, passing the data back to the host process. Once the sub process ends, it should automatically close excel and cleanup the previously made copies of data. You could do the same for any excel action with large data - the catch is that it would need to open/close excel every time.