office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

.net程序無法訪問64位繫統中的Access 數據庫的解決辦法

2021-01-28 08:00:00
海角之上
轉貼
848

作者:海角之上
www.cnblogs.com/sky6699/p/6065636.html

使用.net程序訪問access時,提示“未在本地計祘機上註冊 Microsoft.Jet.Oledb.4.0提供程序。”錯誤

這箇錯誤可能是因爲在64位繫統中,.編譯好NET程序無法直接訪問的access數據庫。


解決辦法:


1. 下載裝Access Database Engine

下載安裝Microsoft Access Database Engine 2010 Redistributable(28MB),有32位(下載)和64位(下載)兩箇版本,具體要安裝哪箇要看你的Office程序是32位的還是64位的,如果你的PC是64位的Win10,但是Office的程序是32位的,那麽應當安裝AccessDatabaseEngine.exe(32位);


2. 修改配置信息

打開你的.NET應用程序配置文件(應用程序名.config,Web應用程序爲 Web.config),設置數據庫連接字符串的Provide Microsoft.ACE.OLEDB.12.0,例如標準連接字符串爲:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb;Persist Security Info=False;"

註意:64位繫統下一定要修改提供程序爲 Microsoft.ACE.OLEDB.12.0,而此時的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。 如果你是64位繫統,但是你的Office 是32位的,所以你隻能安裝32位的ACE驅動,因此你的.NET應用程序也隻能髮佈成32位的。


3. 目標平颱設定爲 x86

如果你髮佈成x86格式的目標平颱,併且不想使用accdb格式的Access數據庫文件,那麽就不必安裝上麵的32位ACE驅動瞭



值得註意的是如果你安裝瞭 64位的Access程序,但是在VS2013中調試Web網站應用程序的時候,提示“Microsoft.ACE.OLEDB.12.0” 未註冊,請在VS的選項中,項目和解決方案,Web項目,勾選64位的 IIS Express 。

分享