【问题标题】:SQL Server error when importing excel report导入 Excel 报表时出现 SQL Server 错误
【发布时间】:2020-05-14 15:55:34
【问题描述】:

我正在尝试使用以下代码导入 excel 文件

select * 
from  OPENROWSET ('Microsoft.ACE.OLEDB.12.0', 
                  'Excel 16.0;HDR=YES;Database=C:\Users\Public\Documents\budget.xlsx', 
                  'select * from [budget$]')

但我不断收到以下错误消息:

消息 7403,第 16 级,状态 1,第 1 行
OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”尚未注册。

我在 Windows Server 64 位上使用 Excel 版本 16 64 位、SQL Server 2017 64 位。

我还安装了 Microsoft Access Database Engine 2010 Redistributable 和 2016 版,但无济于事。

如果有人能在这方面帮助我,不胜感激。

热烈的问候, 丹尼尔

【问题讨论】:

    标签: sql-server excel


    【解决方案1】:

    解决方案是安装 AccessDatabaseEngine_x64.exe – Microsoft Access Database Engine 2010 Redistributable。

    此下载将安装一组组件,这些组件有助于在现有 Microsoft Office 文件(例如 Microsoft Office Access 2010(*.mdb 和 .accdb)文件和 Microsoft Office Excel 2010()之间传输数据.xls、*.xlsx 和 *.xlsb) 文件复制到其他数据源,例如 Microsoft SQL Server。

    因此安装 Microsoft Office 数据连接组件 – AccessDatabaseEngine_x64.exe 解决了该问题。

    来自https://moredvikas.wordpress.com/2016/11/15/the-ole-db-provider-microsoft-ace-oledb-12-0-has-not-been-registered-error-with-excel-file-linked-server-accessdatabaseengine_x64-exe/

    下载:https://www.microsoft.com/en-us/download/details.aspx?id=54920

    【讨论】:

    • 嗨 Rim96,我已经试过了,从 32 位到 64 位的所有版本都没有显示在供应商列表中
    • 有点颠簸
    • 又一次颠簸
    • 嗨,“它没有显示在提供者列表中”是什么意思?根据您的操作系统,它只有两个 .exe
    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2013-01-16
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多