<output id="os3gq"><ruby id="os3gq"></ruby></output>

    1. <mark id="os3gq"></mark>
    2. Access培訓
      網站公告
      ·Access快速平臺QQ群號:84825014    ·Access快速開發平臺下載地址及教程    ·歡迎添加微信交流賬號:AccessoftChu    ·如何快速搜索本站文章|示例|資料    
      您的位置: 首頁 > 技術文章 > 綜合其它

      【翻譯】網絡中的后端Access文件頻繁損壞,提示“無法識別的數據庫格式”

      時 間:2020-04-14 09:48:19
      作 者:金宇   ID:43  城市:江陰
      摘 要:1.最近后端Access文件頻繁損壞,有時一天可能達到二三次。

      2.Access前端文件會報告錯誤3343 “無法識別的數據庫格式”或打開后端Access文件會提示“ Microsoft Access已檢測到該數據庫處于不一致狀態的數據庫,并將嘗試恢復該數據庫…… ”。
      正 文:

      網絡\操作系統\Access配置前提說明:

      局域網多人使用,Access前后端分離,后端Access文件通過共享放在文件服務器上,Access前端文件在每個客戶端電腦上都有一份,客戶端使用WIN10操作系統,之前Access文件一直正常運行好幾年或者平均每年也就損壞一兩次。


      問題:

      1.最近后端Access文件頻繁損壞,有時一天可能達到二三次。

      2.Access前端文件會報告錯誤3343 “無法識別的數據庫格式”或打開后端Access文件會提示“ Microsoft Access已檢測到該數據庫處于不一致狀態的數據庫,并將嘗試恢復該數據庫…… ”。

      通常這些都是長期存在的數據庫,這些數據庫突然顯示出此類問題。


      微軟對此問題回應及臨時解決方法:

      這是由于Access數據庫引擎中帶有網絡文件的使用模式引起的,這些使用模式不會導致Windows早期版本出現問題,但無法正常工作。特別是在Windows 10上,使用版本1803時首先會注意到此問題(實際win10版本1803-1809都有可能出現此問題)。

      微軟終于通過其“Access近期問題的修復或解決方法”發布了一些信息,您可以使用以下鏈接:

      訪問報告數據庫處于“不一致狀態”
      他們正在推廣DisableLeasing注冊表作為臨時解決方案,并提供了實現它的步驟(所有內容均在上面提供的鏈接中進行了說明)。

      警告:

      有關此替代方法的警告。今天,我在客戶端上實現了它,他們所有PC的映射驅動器突然停止工作。服務器的登錄憑據已丟失。因此,請確保您已準備好解決此問題。您只需要擁有憑據并重新輸入它們,一切都應該可以再次使用,但是要計劃還要麻煩得多。我被告知這不應該發生,但是確實發生了,這是唯一的更改,因此很明顯是原因。
      另外,有些人報告說此更改對其整體網絡性能產生了負面影響,但這并不是每個人都如此,因此您需要自己進行測試和觀察。


      其他替代臨時解決方法:
      Microsoft提出的解決方法(實際上是社區用戶在第一次報告該錯誤的第一次討論中發現),它是一種可能的解決方案,但它也有缺點:在擁有后端的PC / Server上需要管理特權,似乎會導致某些性能問題。

      因此,我認為我會發布其他解決方案,這些解決方案已在社區對此主題的討論中浮出水面,并據報已解決了該問題。

      1.回滾最初導致問題的錯誤更新
      這很明顯,如果您將Windows回滾到1709,則在有缺陷的bug出現之前,您根本就不會遇到問題。

      2.新建一個文件夾
      聽起來令人驚訝,現在,多個用戶已經確認,只需在同一驅動器上創建一個新文件夾并將其數據庫移動到新文件夾即可解決此問題。

      3.更改客戶端的文件緩存
      這是另一種注冊表設置方法,但是有所不同,該注冊表不需要任何管理特權。缺點是您必須將其應用于每臺Windows 10 PC,而不是服務器。
      注冊表設置為:
      Windows注冊表編輯器版本5.00
      [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parameters]
      “ FileInfoCacheLifetime” = dword:00000000
      “ FileNotFoundCacheLifetime” = dword:00000000
      “ DirectoryCacheLifetime” = dword:00000000
      您將其保存到bat文件中,然后簡單地執行它,瞧,再也沒有問題了。到目前為止,還沒有人報告過此修復程序的任何性能問題,這與官方MS批準的方案不同。

      4.切換到使用MDB
      Jean-David在下面的評論中建議從使用accdb轉換為mdb文件格式已為他解決了損壞問題。


      永久解決方案:
      通常,我們會等待Microsoft提出修復程序,以解決問題,但是此問題已經存在了一年多,并且沒有任何跡象表明很快就會有適當的修復程序。盡管注冊表黑客的變通辦法行之有效,但它可能會影響網絡性能,有些人對此實施并不滿意,……好吧,我想我會提出另一個永久性的解決方案,將后端遷移到SQL Server(或SQL Server Express)免費)或任何其他RDMS。通過遷移,您可以解決整個問題,并可能在其他方面有所收獲(不再受用戶限制,可以在WAN上使用……)。當然,您可能需要調整前端以使其與SQL Server一起正常使用,因此這不是您剛接觸的內容。您需要放大BE,然后進行全面測試,以便發現問題并加以糾正。
      因此,如果您厭倦了等待Microsoft解決他們所創建的問題并且似乎不急于解決的話,請考慮將您的后端Access升級到SQL Server。





      Access軟件網官方交流QQ群 (群號:198348076)       access源碼網店

      最新評論 查看更多評論(0)

      發表評論您的評論將提升作者分享的動力!快來評論一下吧!

      用戶名:
      密 碼:
      內 容:
       

      常見問答

      技術分類

      相關資源

      最新帖子

      關于我們 | 服務條款 | 在線投稿 | 友情鏈接 | 網站統計 | 網站幫助