access導入Excel時提示 文件共享鎖溢出 請增加MaxLocksperFile注冊表項值的解決辦法

2019-08-28 16:53:00
tmtony8
原創
488
在access中,我們往往需要導入Excel的數據。無論是復制粘貼,通過access自帶功能的導入,又或者是用代碼導入時
如果操作數據量較大時。會提示錯誤

文件共享鎖溢出 請增加MaxLocksperFile注冊表項值





這是因為Access數據庫,默認最多同時操作大量記錄(9500條)。超過即會提示錯誤



處理辦法一:

在注冊表上直接修改MaxLocksPerFile每個文件的最大鎖數

1. 單擊“開始”,然后單擊“運行”。
2. 鍵入 regedit,然后單擊“確定”。
3. 在注冊表編輯器中,找到以下注冊表項:
4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
5. 在注冊表編輯器的右窗格中,雙擊“MaxLocksPerFile”。
6. 在“編輯 DWORD 值”對話框中,單擊“十進制”。
7. 根據需要修改“數值數據”框中的值,然后單擊“確定”。


注意:
如果安裝的office是64位系統位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0



如果沒有找到以上兩個路勁,可以嘗試下面的兩個路徑:
For Access 2007 running on Windows 32 bit (x86) locate the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE

For Access 2007 running on Windows 64 bit (x64) locate the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE



處理方法二:

使用 SetOption 方法臨時更改 MaxLocksPerFile


1. 新建一個模塊
2. 在“立即窗口”中(可以按Ctrl+G顯示立即窗口)運行該代碼:
DAO.DBEngine.SetOption dbmaxlocksperfile ,15000


注意:該代碼必須先引用 Microsoft DAO 3.6 對象庫。


SetOption 方法臨時覆蓋每個文件的默認鎖數。在設置MaxLocksPerFile 注冊表項時設置每個文件的默認鎖數。通過使用 SetOption 方法來設置新值。在關閉 DBEngine 對象之前該新值將一直有效。要使用第二種方法,請按照下列步驟操作:

要處理大型事務,請根據需要設置 MaxLocksPerFile 值,然后在會話中運行事務。
使用 SetOption 方法對 MaxLocksPerFile 設置所做的更改僅適用于當前會話。

注意:
MaxLocksPerFile 不能設置為無限大。如果您正在 Novell NetWare 服務器上工作,請不要更改該值,因為每個連接的最大服務器記錄鎖數是 10,000。
    分享
    北京十一选五基本走势