由於頁面大小存在問題,我在打開esent數據庫(Windows.edb)時遇到了問題。我的系統上的Windows.edb的頁面大小是32K。當我通過JET_paramDatabasePageSize設置它時,JetInit將返回錯誤-1213(數據庫頁面大小與引擎不匹配)。一旦我只需要ReadOnly訪問數據庫,Laurion Burchall建議關閉JET_paramRecovery。這解決了我的問題。當前數據庫引擎僅限於特定的頁面大小?
直到現在。我有一個不完美的關機數據庫。我假設,使用JET_paramRecovery = On時,JetInit將自動執行恢復並讓我讀取數據庫。但是,如果我嘗試得到舊的-1213錯誤。
現在我可以用ESENTUTL修復我的文件,但我的應用程序的虛擬用戶將無法修復。有沒有辦法恢復,仍然可以定義ANY DatabasePageSize?在數據庫的位置沒有任何日誌文件(並且我將Logpath設置爲相同的目錄以確保它們不會寫入其他任何地方)。
這是否意味着我的機器上的引擎不支持頁面大小或數據庫?或者我可以通過設置另一個魔術開關來解決問題嗎?