none
how to release storage space to prevent error 3035 and 3183 RRS feed

  • Question

  • I have an access database with subroutines that want to add thousands of large records to a certain table.  It uses parameter queries to add these records, and runs out of memory, causing the database to be corrupted.  An earlier version of the program used a recordset using .addnew to add the queries, and this method also fails in the same way.  How can I avoid this apparent memory leak?

    Thanks, William Rowan

    Monday, December 16, 2019 8:45 PM

All replies

  • Hi,

    I should add that I am using Office 365, with the "Corrupt Query" fix performed.

    Thanks, William Rowan


    • Edited by whrowan Monday, December 16, 2019 8:52 PM
    Monday, December 16, 2019 8:52 PM
  • Using 64-bit version of Access can help with certain resource exceeded errors.

    You can perform the updates/insertions in a couple batches.

    Perhaps it is time to look at upsizing to SQL Server (Express).

    Where are these new records coming from exactly?  Can you explain the process a little bit.


    Daniel Pineault, 2010-2019 Microsoft MVP
    Professional Support: http://www.cardaconsultants.com
    MS Access Tips and Code Samples: http://www.devhut.net


    Monday, December 16, 2019 9:18 PM
  • Hi David,

    Thanks very much for responding.  I really appreciate your help.

    64-bit version: it is a 64-bit CPU so it sounds like that is a great idea.  My version of Access is 2013, but under Office 365.  The version number is 15.0.5197.1000.  Can you advise me how to convert to the 64-bit version?  I'm not sure the 64-bit version of Access 2013 will be available, but I have the same access programs running on a different computer that has a somewhat different installation history, and its version number is 1911 (Build 12228.20364 (Click-to-Run)).  I don't know whether that is a 64-bit version or not.

    Currently, the program is structured so that it does allow for doing the processing in batches, so that is what we will fall back on as needed.

    The records are generated by the program, and inserted using a parameter query.  I thought perhaps doing that, and then closing the querydef every time after it was executed each time, might help, but it doesn''t seem to cause the temporary storage space to be reclaimed.  Is there any way to cause the temporary storage space to be reclaimed, short of restarting the Access program?

    Thanks, Bill Rowan

    Tuesday, December 17, 2019 6:58 PM
  • Sorry, I mean Daniel!  Hi Daniel!

    As far as SQL Server Express: would it be possible to upgrade the database that is running the program to SQL Server Express, and leave the many other databases that it links to as Microsoft Access?  I am trying to avoid too much restructuring of the code, since it looks like running the data in segments is a quicker workaround?

    Thanks,

    Bill Rowan

    Tuesday, December 17, 2019 7:31 PM