【发布时间】:2011-02-17 16:24:03
【问题描述】:
由于页面大小存在问题,我在打开 esent 数据库 (Windows.edb) 时遇到问题。我系统上的 Windows.edb 的页面大小是 32K。当我通过 JET_paramDatabasePageSize 设置时,JetInit 将返回 error -1213(数据库页面大小与引擎不匹配)。 Laurion Burchall 建议在我只需要对数据库进行只读访问时关闭 JET_paramRecovery。这解决了我的问题。
到现在为止。我有一个不完全关闭的数据库。我假设,使用 JET_paramRecovery=On,JetInit 会自动进行恢复并让我读取数据库。但如果我尝试这样做,我会得到那个旧的 -1213 错误。
现在我可以使用 ESENTUTL 修复我的文件,但我的应用程序的虚拟用户将无法修复。有什么方法可以恢复并仍然能够定义ANY DatabasePageSize?数据库所在位置没有日志文件(我将 Logpath 设置为同一目录以确保它们不会写入其他任何地方)。
这是否意味着我机器上的引擎不支持页面大小或数据库?或者我可以通过设置另一个魔法开关来解决问题吗?
【问题讨论】: