【发布时间】:2017-03-18 06:12:01
【问题描述】:
我正在尝试将数据从 EXCEL 文件导入 SQL SERVER。当我运行这个查询时
SELECT * INTO EXCEL_IMPORT
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0; Database=C:\Users\af\Desktop\Reports\Jan_2016_Ships.xlsx; HDR=YES; IMEX=1',
'SELECT * FROM [Sheet1$]');
我收到这个错误
The OLE DB provider "Microsoft.ACE.OLEDB.12.0" has not been registered。
所以我需要安装这个驱动程序,但经过一些搜索后我发现了这个:
安装 Microsoft.ACE.OLEDB.12.0 驱动程序
将 Excel 2007-2016 文件导入 SQL Server Microsoft.ACE.OLEDB.12.0 应该安装驱动程序。
要下载驱动程序,请使用以下链接:
Microsoft Access 数据库引擎 2010 可再发行组件
不用担心名称中的“Access”。
警告!如果 Microsoft Office 2007-2016 无法安装 x64 驱动程序 x86 已经安装好了!
所以没有办法将 Excel 数据导入 SQL Server x64 使用 带有 Microsoft Office 的机器上的 OPENROWSET/OPENDATASOURCE 函数 x86!
所以我无法安装此驱动程序,因为我有 SQL SERVER x64 和 Microsoft Office x86。我不想使用简单的导入向导,因为我有很多表,并且我需要检查列的数据类型......在我的情况下这会很耗时。
我相信应该有一种解决方案可以在 SQL SERVER x64 和 Microsoft Office x86 上运行我的查询。
有什么建议吗?非常感谢
【问题讨论】:
-
将文件 Jan_2016_Ships.xlsx 转换为 Jan_2016_Ships.xls 然后检查
-
和之前一样的错误
标签: sql sql-server tsql