我有Windows 10专业版x64, Excel 2016 32位 和Sql server 2017。 我想将excel文件导入到sql server,我需要使用32位向导,因为Microsoft Excel没有以64位版本显示,但是我遇到了这个错误: ' Microsoft.ACE.OLEDB.16.0'提供程序未在本地计算机上注册。 (System.Data)
答案 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。
我有Office365。我在XLSX上使用CSV和放弃是因为
答案 6 :(得分:0)
我没有使用数据库下提供的导入/导出任务,而是按照建议的here利用MS SQL Server 2016安装附带的“ SQL Server 2016导入和导出数据(64位)”服务。在Windows 10中,您可以在 SQL Server 2016 应用程序中找到它。对于您自己的情况,在同一位置找到 SQL Server 2016导入和导出数据(32位)服务。