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

如何通过脚本将Excel文件数据导入SQL Server数据库?

Excel导入SQL Server:解决ACE OLEDB未注册问题

你尝试的导入脚本:

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

USE Diyur;
GO
SELECT * INTO Data_dq
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0; Database=C:\File.xls', [Sheet1$]);
GO

遇到的错误:

Msg 7403, Level 16, State 1, Line 12 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" has not been registered.


错误原因

SQL Server所在环境未安装Microsoft ACE OLEDB驱动,或者驱动版本(32位/64位)与SQL Server位数不匹配。

解决步骤

1. 安装对应版本的ACE驱动

  • 64位SQL Server:下载安装64位版Microsoft Access Database Engine 2010 Redistributable(ACE 12.0对应此版本)
  • 32位SQL Server:安装32位版驱动
  • 若系统已装32位Office,直接装64位驱动会冲突,用被动安装命令:
    AccessDatabaseEngine_X64.exe /passive
    

2. 验证脚本与权限

  • 若导入的是.xlsx文件,连接字符串需改为:Excel 12.0 Xml; Database=C:\File.xlsx
  • 确保SQL Server服务账号拥有C:\File.xls文件的读取权限,否则会触发文件访问错误

3. 无驱动替代方案:用SQL Server导入导出向导

如果不想装驱动,直接用SSMS自带工具:

  • 打开SSMS,右键目标数据库 → 任务 → 导入数据
  • 数据源选「Excel」,选择文件路径并匹配Excel版本(2007+选Excel 12.0)
  • 目标选SQL Server,指定要导入的数据库
  • 跟着向导完成表映射,一键完成数据导入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:18:41