首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VS2008 連接 Access 2010 (.accdb) 失敗:Provider 不支持,降級或升級 IDE

     編輯:程式設計綜合問答

錯誤現象

在 VS2008 「添加數據源」選 Access 數據庫文件(.accdb),報錯 「未能從程序集加載類型」 或 Provider 不可用。

根本原因

  • VS2008 內置的 Microsoft.Jet.OLEDB.4.0 僅支持 .mdb (Access 2003) 格式。
  • .accdb (Access 2007+) 需要 Microsoft.ACE.OLEDB.12.0 或更高版本 Provider,VS2008 不自帶且無法自動識別。

三種解決方案

方案操作優缺點
1. 另存為 .mdb(最快)Access 2010 打開文件 → 「另存為」→ 「Access 2002-2003 數據庫 (*.mdb)」✅ 零代碼修改,即刻可用。❌ 丟失 .accdb 新特性(多值字段、附件類型等)。
2. 安裝 ACE Provider + 修改連接字符串1. 下載 Access Database Engine 2010 Redistributable(x86/x64 需與 VS 位數一致,VS2008 僅 32 位 → 裝 x86)。
2. 連接字符串改為:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\db.accdb;Persist Security Info=False;
✅ 保留 .accdb 功能。❌ 需管理員權限安裝;部署機器也必須裝 Provider。
3. 升級 Visual Studio(推薦長遠)遷移至 VS2019/2022 Community,原生支持 .accdb、Entity Framework Core、.NET 6+。✅ 現代工具鏈、安全更新、跨平台。❌ 專案升級需工作量。

避坑提醒

  1. 64 位 Office 安裝了 64 位 ACE Provider 時,32 位 VS2008 **無法調用**,必須安裝 32 位 Provider(可用 /passive 靜默安裝)。
  2. 連接字符串中的 |DataDirectory| 映射至 bin\Debug,確保 .accdb 文件「複製到輸出目錄」設置為「如果較新則複製」。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved