' Microsoft.ACE.OLEDB.16.0'提供程序未在本地计算机上注册。 (System.Data)

时间:2018-03-14 11:27:05

标签: sql-server excel ms-access

我有Windows 10专业版x64, Excel 2016 32位 和Sql server 2017。 我想将excel文件导入到sql server,我需要使用32位向导,因为Microsoft Excel没有以64位版本显示,但是我遇到了这个错误: ' Microsoft.ACE.OLEDB.16.0'提供程序未在本地计算机上注册。 (System.Data)

7 个答案:

答案 0 :(得分:4)

如果您具有OS(64位)和SSMS(64位)并且已经安装了 AccessDatabaseEngine(64位),并且仍然收到错误,请尝试以下解决方案:

1:直接打开sql服务器导入和导出向导。

如果您能够使用直接SQL Server导入和导出向导进行连接,那么从SSMS导入就是问题所在,就像从SSMS导入数据时激活32位一样。

尝试安装 AccessDatabaseEngine(32bit),而不是安装 AccessDatabaseEngine(64bit),如果已安装Windows,它将阻止您继续安装安装了应用程序(如果已安装),请使用以下步骤。这来自 MICROSOFT 。安静的安装。

如果已经安装了Office 365,并排检测将阻止安装继续进行。而是从命令行执行/ quiet安装这些组件。这样做,将所需的AccessDatabaseEngine.exe或AccessDatabaeEngine_x64.exe下载到您的PC,打开管理命令提示符,并提供安装路径并切换Ex:C:\ Files \ AccessDatabaseEngine.exe / quiet

或通过下面的链接

签入附加信息内容

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

答案 1 :(得分:2)

使用此链接下载64位版本的Microsoft Access数据库引擎2016可再发行组件:

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

安装完成后,您可以打开64位导入导出向导,并为excel提供数据源选项。

答案 2 :(得分:1)

如果由于已经安装了组件而在安装引擎时遇到问题,请执行以下操作(来自Microsoft):

如果已经安装了Office 365,则并排检测将阻止安装的进行。而是从命令行执行/ quiet安装这些组件。为此,请将AccessDatabaeEngine_x64.exe下载到您的PC,打开管理命令提示符,并提供安装路径并切换到Ex:C:\ Files \ AccessDatabaseEngine_x64.exe / quiet

答案 3 :(得分:0)

如果您拥有Microsoft Access数据库引擎但仍然面临同样的问题,请确保您以管理员的身份访问Microsoft SQL Server Management Studio。

答案 4 :(得分:0)

我成功完成了以下工作(我使用Excel 2016和SSMS 2017) 从Excel 文件->导出->更改文件类型-> Excel 97- 2003(* .xls)

答案 5 :(得分:0)

这是一种解决方法。最终,将Excel文档转换为CSV并使用“任务/导入数据/平面文件源”选项导入了我的数据(尽管我无法在导入中成功映射我的数据类型,以后可以使用CAST()进行修复) 。上传时,将文件类型从TXT更改为CSV。

Flat File Source

我有Office365。我在XLSX上使用CSV和放弃是因为

当我运行32位版本的AccessDatabaseEngine.exe时,出现以下错误: 32 not compatible with 64

当我运行AccessDatabaseEnginex64.exe的64位版本时,我收到此错误: 64 not compatible with 32

答案 6 :(得分:0)

我没有使用数据库下提供的导入/导出任务,而是按照建议的here利用MS SQL Server 2016安装附带的“ SQL Server 2016导入和导出数据(64位)”服务。在Windows 10中,您可以在 SQL Server 2016 应用程序中找到它。对于您自己的情况,在同一位置找到 SQL Server 2016导入和导出数据(32位)服务。