Search code examples
databasewinapiextensible-storage-engine

What to do with JET_errVersionStoreOutOfMemory on JetUpdate


When I call JetUpdate() I sometimes get either JET_errVersionStoreOutOfMemory or JET_errVersionStoreOutOfMemoryAndCleanupTimedOut.

The machine has plenty of free RAM and disk space, what does this error mean - and more important, what do I do about it?

I've tried actions such as Sleep()ing a bit before retrying the transaction, sometimes this seems to work, but sometimes it doesnt - making me think i'm on the wrong path?


Solution

  • You either need to increase the size of the version store (set JET_paramMaxVerPages with JetSetSystemParameter) or do less work inside of one transaction.

    As an example of controlling transaction size see the "How Do I Pulse My Transaction?" entry in the documentation: http://managedesent.codeplex.com/wikipage?title=HowDoI