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

使用SSMS导入数据向导时,如何解决'microsoft.ace.oledb.12.0'未注册错误?

解决SSMS 20.1导入Excel时的Access Database Engine兼容问题

方案一:强制以32位模式运行SSMS

  • 找到SSMS快捷方式,右键选择属性
  • 在目标栏末尾添加参数 /32(注意前面加空格),例如原目标为"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe",修改后为"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe" /32
  • 应用设置后重启SSMS,再尝试导入Excel文件

方案二:静默安装32位Access Database Engine 16(绕过Office版本检测)

  • 获取32位Access Database Engine 16安装包
  • 以管理员身份打开命令提示符,执行静默安装命令:
    AccessDatabaseEngine.exe /quiet
    
  • 安装完成后重启SSMS,重新尝试导入操作

方案三:不依赖Access引擎的替代导入方法

  • 将Excel转CSV格式导入
    • 打开Excel文件,选择文件>另存为,保存类型选CSV(逗号分隔)(*.csv)
    • 在SSMS中使用导入Flat File向导导入CSV文件
  • 使用SSIS包导入
    • 创建SSIS包,配置Excel源组件(确保SSIS位数与Office/Access引擎匹配),直接将数据导入SQL Server表
  • 通过T-SQL查询直接导入
    • 先启用Ad Hoc Distributed Queries:
      sp_configure 'show advanced options', 1;
      RECONFIGURE;
      sp_configure 'Ad Hoc Distributed Queries', 1;
      RECONFIGURE;
      
    • 执行导入查询(根据Excel版本调整Provider):
      SELECT * INTO 目标表名
      FROM OPENROWSET('Microsoft.ACE.OLEDB.16.0',
                      'Excel 12.0 Xml;HDR=YES;Database=C:\你的Excel文件路径.xlsx',
                      'SELECT * FROM [Sheet1$]');
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:13:13