office交流網(wǎng)--QQ交流群號及微信交流群

Access培訓(xùn)群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

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

微信交流群(請用微信掃碼)

        

.net程序無法訪問64位系統(tǒng)中的Access 數(shù)據(jù)庫的解決辦法

2021-01-28 08:00:00
海角之上
轉(zhuǎn)貼
4600

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

使用.net程序訪問access時,提示“未在本地計算機上注冊 Microsoft.Jet.Oledb.4.0提供程序?!卞e誤

這個錯誤可能是因為在64位系統(tǒng)中,.編譯好NET程序無法直接訪問的access數(shù)據(jù)庫。


解決辦法:


1. 下載裝Access Database Engine

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


2. 修改配置信息

打開你的.NET應(yīng)用程序配置文件(應(yīng)用程序名.config,Web應(yīng)用程序為 Web.config),設(shè)置數(shù)據(jù)庫連接字符串的Provide Microsoft.ACE.OLEDB.12.0,例如標(biāo)準(zhǔn)連接字符串為:"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb;Persist Security Info=False;"

注意:64位系統(tǒng)下一定要修改提供程序為 Microsoft.ACE.OLEDB.12.0,而此時的文件名,可以是 早期的 mdb文件,也可以是新的 accdb 文件。 如果你是64位系統(tǒng),但是你的Office 是32位的,所以你只能安裝32位的ACE驅(qū)動,因此你的.NET應(yīng)用程序也只能發(fā)布成32位的。


3. 目標(biāo)平臺設(shè)定為 x86

如果你發(fā)布成x86格式的目標(biāo)平臺,并且不想使用accdb格式的Access數(shù)據(jù)庫文件,那么就不必安裝上面的32位ACE驅(qū)動了



值得注意的是如果你安裝了 64位的Access程序,但是在VS2013中調(diào)試Web網(wǎng)站應(yīng)用程序的時候,提示“Microsoft.ACE.OLEDB.12.0” 未注冊,請在VS的選項中,項目和解決方案,Web項目,勾選64位的 IIS Express 。

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動訪問