#database #winapi #extensible-storage-engine
#База данных #winapi #расширяемый механизм хранения
Вопрос:
Когда я вызываю JetUpdate (), я иногда получаю либо JET_errVersionStoreOutOfMemory, либо JET_errVersionStoreOutOfMemoryAndCleanupTimedOut.
На компьютере достаточно свободной оперативной памяти и дискового пространства, что означает эта ошибка — и, что более важно, что мне с этим делать?
Я пробовал такие действия, как Sleep (), перед повторной попыткой транзакции, иногда это, кажется, работает, но иногда это не так — заставляя меня думать, что я на неверном пути?
Ответ №1:
Вам либо нужно увеличить размер хранилища версий (задайте JET_paramMaxVerPages с помощью параметра JetSetSystemParameter), либо выполнить меньше работы внутри одной транзакции.
В качестве примера управления размером транзакции смотрите раздел «Как мне ускорить мою транзакцию?». запись в документации:http://managedesent.codeplex.com/wikipage?title=HowDoI
Комментарии:
1. Обновленная ссылка на документ, содержащий «Как мне ускорить мою транзакцию», является github.com/microsoft/ManagedEsent/blob/master/Documentation/… Я не могу отредактировать ответ, потому что получаю сообщение об ошибке «предлагаемая очередь редактирования заполнена».