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

Access/Excel 2010数据库格式异常及ADODB连接运行时错误求助

解决Excel 2010通过ADODB连接Access 2010时的运行时错误'-2147467259 (8004005)'

这个错误我在类似的Office 2010环境下碰到过好几次,结合你服务器只部署了Office 2010的情况,大概率是连接配置、权限或者驱动兼容性问题,给你几个针对性的排查和解决步骤:

  • 检查ADODB连接字符串是否正确
    Access 2010需要使用ACE OLEDB驱动,正确的连接字符串格式应该是:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\To\Your\Database.accdb;Persist Security Info=False;
    

    注意几个关键细节:

    • 确认Data Source的路径完全正确,包含完整的文件名和后缀(.accdb或.mdb)
    • 如果路径包含空格,要把整个路径用双引号括起来,比如Data Source="C:\My Databases\db.accdb"
    • 不要混用旧的Jet驱动(Microsoft.Jet.OLEDB.4.0),它不支持Access 2007及以后的数据库格式
  • 验证文件和文件夹权限
    运行Excel文件的账户(比如服务器本地账户、域账户,或是任务计划的执行账户)需要具备以下权限:

    • 读取目标Access数据库文件的权限
    • 读取数据库所在文件夹的权限(即使文件权限已赋予,没有文件夹权限也会触发权限类错误)
      你可以右键文件夹→属性→安全选项卡,添加对应账户并赋予读取和执行、列出文件夹内容、读取权限
  • 确保32位/64位环境完全匹配
    Office 2010分32位和64位版本,ACE驱动的位数必须和Excel的位数完全一致:

    • 可以在Excel中点击「文件」→「帮助」查看版本信息,确认是32位还是64位
    • 如果手动安装过不同位数的驱动导致冲突,卸载错误位数的驱动,重新安装对应Office版本的ACE驱动(Office 2010默认会安装匹配位数的驱动)
  • 修复可能损坏的Access数据库
    数据库文件损坏也会导致连接失败,你可以:

    1. 在服务器上用Access 2010打开该数据库
    2. 点击「文件」→「信息」→「压缩和修复数据库」
    3. 修复完成后再用Excel重新尝试连接
  • 重新注册ACE驱动
    若驱动的注册信息损坏,可通过管理员命令提示符重新注册:

    • 32位Office:运行regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL"
    • 64位Office:运行regsvr32 "C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL"
      执行后会弹出注册成功的提示,重启Excel后再重试连接

你可以按这个顺序逐一排查,一般前三个步骤就能解决大部分问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:29:07