由于页面大小存在问题,我在打开esent数据库(Windows.edb)时遇到了问题。我的系统上的Windows.edb的页面大小是32K。当我通过JET_paramDatabasePageSize设置它时,JetInit将返回错误-1213(数据库页面大小与引擎不匹配)。一旦我只需要ReadOnly访问数据库,Laurion Burchall建议关闭JET_paramRecovery。这解决了我的问题。当前数据库引擎仅限于特定的页面大小?
直到现在。我有一个不完美的关机数据库。我假设,使用JET_paramRecovery = On时,JetInit将自动执行恢复并让我读取数据库。但是,如果我尝试得到旧的-1213错误。
现在我可以用ESENTUTL修复我的文件,但我的应用程序的虚拟用户将无法修复。有没有办法恢复,仍然可以定义ANY DatabasePageSize?在数据库的位置没有任何日志文件(并且我将Logpath设置为相同的目录以确保它们不会写入其他任何地方)。
这是否意味着我的机器上的引擎不支持页面大小或数据库?或者我可以通过设置另一个魔术开关来解决问题吗?