Office/Access 2013 擴展支持xbase/DBF 文件


最新的Access 2013 安裝后,已經不能對dbf文件進行鏈接讀取了,Access 2010以前的版本都可以,如果以前的項目用了Access鏈接大量的dbf文件的話,

升級Access 2013后,訪問鏈接dbf文件的表,就會出錯,具體的解決辦法是,安裝Access 2010的運行時環境,在改注冊表。

我的環境是win7 64bit + Office 2013 plus 64bit。

1,下載Access 2010的支持環境AccessDatabaseEngine_X64.exe

https://www.microsoft.com/en-us/download/details.aspx?id=13255

2,修改注冊表,將下面的文件保存為一個merge.reg文件,雙擊這個文件導入注冊表。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
"win32"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL"
"Mark"=dword:00000000
"DbcsStr"=hex:01
"Date"="MDY"
"Exact"=hex:00
"Deleted"=hex:01
"Century"=hex:00
"CollatingSequence"="Ascii"
"DataCodePage"="OEM"
"NetworkAccess"=hex:01
"PageTimeout"=dword:00000258

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
"Engine"="Xbase"
"ExportFilter"="dBASE 5 (*.dbf)"
"ImportFilter"="dBASE 5 (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
"Engine"="Xbase"
"ExportFilter"="dBASE III (*.dbf)"
"ImportFilter"="dBASE III (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
"Engine"="Xbase"
"ExportFilter"="dBASE IV (*.dbf)"
"ImportFilter"="dBASE IV (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:00

注意事項:

1,如果是在win7 64bit安裝的32bit 的Office 2013,需要下載32位的AccessDatabaseEngine_X32.exe。

參考這篇文章:http://jonwilliams.org/wordpress/2014/03/21/enabling-xbase-dbf-support-in-microsoft-office-access-2013/

2,注冊表內容用下面的內容替換:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
 "win32"="C:\\PROGRA~2\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL"
 "DbcsStr"=hex:01
 "Mark"=dword:00000000
 "Date"="MDY"
 "Exact"=hex:00
 "Deleted"=hex:01
 "Century"=hex:00
 "CollatingSequence"="Ascii"
 "DataCodePage"="OEM"
 "NetworkAccess"=hex:01
 "PageTimeout"=dword:00000258

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
 "Engine"="Xbase"
 "ExportFilter"="dBASE 5 (*.dbf)"
 "ImportFilter"="dBASE 5 (*.dbf)"
 "CanLink"=hex:01
 "OneTablePerFile"=hex:01
 "IsamType"=dword:00000000
 "IndexDialog"=hex:00
 "CreateDBOnExport"=hex:00
 "SupportsLongNames"=hex:00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
 "Engine"="Xbase"
 "ExportFilter"="dBASE III (*.dbf)"
 "ImportFilter"="dBASE III (*.dbf)"
 "CanLink"=hex:01
 "OneTablePerFile"=hex:01
 "IsamType"=dword:00000000
 "IndexDialog"=hex:00
 "CreateDBOnExport"=hex:00
 "SupportsLongNames"=hex:00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
 "Engine"="Xbase"
 "ExportFilter"="dBASE IV (*.dbf)"
 "ImportFilter"="dBASE IV (*.dbf)"
 "CanLink"=hex:01
 "OneTablePerFile"=hex:01
 "IsamType"=dword:00000000
 "IndexDialog"=hex:00
 "CreateDBOnExport"=hex:00
 "SupportsLongNames"=hex:00

win7 32bit 下安裝 Office 2013 32bit的話,上面的注冊表文件的內容值做相應的修改,原則就是注冊表的key路徑要匹配你2010的安裝路徑,

例如這些路徑是否正確:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]

舉一反三,不再例舉。

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM