У меня была проблема с открытием базы данных esent (Windows.edb) из-за проблемы с размером страницы. Размер страниц Windows.edb в моей системе составляет 32 КБ. Когда я устанавливаю это через JET_paramDatabasePageSize, JetInit возвращает ошибку -1213 (размер страницы базы данных не соответствует движку). Лорион Бурчалл предложил отключить JET_paramRecovery, когда мне нужен только доступ ReadOnly к базе данных. Это решило мою проблему.
До сих пор. У меня не совсем отключенная база данных. Я предполагаю, что при JET_paramRecovery = On JetInit автоматически выполнит восстановление и позволит мне прочитать базу данных. Но если я попробую это, я получу эту старую ошибку -1213.
Теперь я могу исправить свой файл с помощью ESENTUTL, но фиктивный пользователь моего приложения не сможет. Есть ли какой-нибудь способ включить восстановление и при этом определить ЛЮБОЙ DatabasePageSize? В месте расположения базы данных отсутствуют файлы журналов (и я установил для Logpath тот же каталог, чтобы они не были записаны в другом месте).
Означает ли это, что движок на моем компьютере не поддерживает размер страницы или базу данных? Или я могу решить проблему с установкой другого магического переключателя?