You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:迁移VB.NET 2010+Access 13系统后遇ACE.OLEDB.12.0未注册错误

解决“Microsoft.ACE.OLEDB.12.0 provider is not registered in the local machine”问题的排查步骤
  • 检查Access数据库引擎的位数匹配
    VB.net 2010项目编译位数、Access数据库引擎位数、O365位数必须完全一致:

    • 若O365是32位(打开Word→文件→账户→关于Word可查看),必须安装32位Access数据库引擎,且项目编译为32位;
    • 若O365是64位,安装64位引擎,项目编译为64位;
    • 禁止同时安装32位和64位引擎,会导致组件冲突无法注册。
  • 修改项目编译配置
    打开VB.net 2010项目:

    1. 右键项目→属性→编译;
    2. 点击“高级编译选项”;
    3. 将“目标CPU”设置为与引擎、O365一致的位数(如x86对应32位,x64对应64位),避免默认Any CPU模式下的位数不兼容。
  • 手动注册ACE驱动(管理员权限)
    找到Access引擎的安装路径,以管理员身份运行CMD执行注册命令:

    • 32位引擎路径:C:\Program Files (x86)\Microsoft Office\Office14\ACEOLEDB.DLL,执行:
      regsvr32 "C:\Program Files (x86)\Microsoft Office\Office14\ACEOLEDB.DLL"
      
    • 64位引擎路径:C:\Program Files\Microsoft Office\Office14\ACEOLEDB.DLL,执行:
      regsvr32 "C:\Program Files\Microsoft Office\Office14\ACEOLEDB.DLL"
      

    若提示注册失败,检查路径是否正确,或重新下载对应位数的引擎安装包重新安装。

  • 利用O365自带的ACE组件
    单独安装的Access引擎可能与O365自带组件冲突:

    1. 卸载已安装的Access数据库引擎;
    2. 打开控制面板→程序和功能→找到O365→点击“更改”→选择“快速修复”或“联机修复”;
    3. 修复完成后,O365会自动注册对应位数的ACE驱动,无需额外安装。
  • 调整连接字符串的Provider版本
    O365环境下默认使用ACE 16.0组件,可尝试将连接字符串中的Microsoft.ACE.OLEDB.12.0替换为Microsoft.ACE.OLEDB.16.0,新版本驱动向下兼容旧版数据库文件,能避免版本不匹配问题。

内容的提问来源于stack exchange,提问作者user3778844

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:01:10