Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 8 of 8 total |
Eoutofmemory error in Memory tables |
Thu, Nov 2 2006 8:26 AM | Permanent Link |
Praveen A B | Hi,
I am using DBISAM Table Component of Version 3.17. My app is developed in Delphi 6. In our client/server app the server returns the records in text format where every field value is delimited by '|'. Resopnse format:- No. of Rows|No. of Cols|val1|val2|.......valn|.... and so on. While parsing this response in a While/For loop I append this data to a DBISAM memory table. Below is an excerpt of what is being done. Note that I'm using only "Append" and no "Post". ---- table.append; for i := 0 to rows do if next row then table.append; end; table.refresh; ----- Now, in some cases when there are about 10,000 or more rows I get an "Out of Memory" error (on the second Append). Record size of table is about 3KB. I have 1 GB RAM. No apps are running. What is the likely cause of the out of memory error? Is it something to do with calling Append w/o a Post. ? What's the max records that a DBISAM memory table can hold ? Thanks Praveen A B. |
Thu, Nov 2 2006 10:57 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Praveen,
<< Now, in some cases when there are about 10,000 or more rows I get an "Out of Memory" error (on the second Append). Record size of table is about 3KB. >> How many rows are getting appended before the error ? More than likely the issue is with fragmentation of the address space due to the Delphi memory manager. You might want to try downloading and using FastMM and see if that helps things a bit. -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Apr 23 2007 8:35 AM | Permanent Link |
Praveen AB | Hi,
Have tried FastMM to no avail. The exception occurs when around 3000-3500 records are posted. This has been bugging me for some time in production. |
Mon, Apr 23 2007 9:21 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Praveen
What happens if you try the same operation in fileserver mode? Roy Lambert |
Mon, Apr 23 2007 9:59 AM | Permanent Link |
"Jose Eduardo Helminsky" | Praveen A B
Is there a transaction active ? If so, try call COMMIT for each 500 records and see what happen. Eduardo |
Mon, Apr 23 2007 4:03 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Praveen,
<< Have tried FastMM to no avail. The exception occurs when around 3000-3500 records are posted. This has been bugging me for some time in production. >> The only other thing I can suggest is to upgrade to 4.x. 4.x uses a different memory block allocation scheme for in-memory files in its virtual file system, and it is a bit easier on the memory manager because it does not do reallocs when growing the files like 3.x does. -- Tim Young Elevate Software www.elevatesoft.com |
Wed, Apr 25 2007 9:54 AM | Permanent Link |
Praveen A B | Tim,
<< The only other thing I can suggest is to upgrade to 4.x. >> What's the cost of 4.x ?? Praveen. |
Fri, Apr 27 2007 7:49 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Praveen,
<< What's the cost of 4.x ?? >> If you log into the Customers area of the web site using your user ID and password: http://www.elevatesoft.com/scripts/customer.dll?action=login you can go to the Upgrade Products link on the right and see all of your upgrade options as well as their cost. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Wednesday, April 24, 2024 at 11:07 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |