Server memory usage

Ralf

Member²
Following situation in my application server:
Client sends SQL to server (through Asta-components).
On Server a TOracleDataSet is created that executes the SQL. After all rows have been collected, the result is sent to the client.
The problem arises when there are many (>10.000) rows as a result. The application server takes lots of memory because the dataset holds all the row-data. Even if I send sets of rows (100 for example by using OnAfterFetchRecord) to the client, the memory keeps growing. Is there a way to "discard" previous row-data, like a TOracleQuery can do with Scrollable = false?
I am stuck to a descendant of TDataSet (because of Asta), so I can't use a TOracleQuery directly.
 
You can set TOracleDataSet.UniDirectional to True. This way each record that has been read will be freed from memory (batch-wise).
 
Back
Top