sql server导出到excel错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
【思路1】
这种提示是由于需要安装:Microsoft Office Access Database Engine 2007
点这里下载:https://www.microsoft.com/en-us/download/details.aspx?id=13255
资源链接:https://download.csdn.net/download/u012972326/11228251
相关官网信息查看:https://www.microsoft.com/en-us/download/details.aspx?id=54920
装32位的
下载完以后安装
装完后重新操作一边,试试
【思路2】
其实大家在网上搜索就知道是因为缺少“AccessDatabaseEngine.exe”
我下载的时候因为电脑是64位的我就下载了64位的但是还是不行。
其实人家需要的是32位的。
但是下载32的安装时又提示“有64位office不能装”
这时候使用 win+r 打开命令窗口 将目录定为到你的安装包目录下
比如我 就在命令行中输入“cd D:\迅雷下载”
然后输入安装包全名“AccessDatabaseEngine.exe” 后面加“/passive” 注意这个非常重要
这个命令就是跳过64位检测 直接安装
执行后就可以了
【情况3】
该情况转自:https://bbs.csdn.net/topics/392233408
(0)问题:未在本地计算机上注册 Microsoft.ACE.OLEDB.15.0 提供程序”
统 为 WIN10 64位
sql server: Microsoft SQL Server 2016 (SP1) (KB3182545) Express Edition (64-bit) SP1
已在微软网站下载安装 了access 2013 runtime 64位版的运行库并正常安装
在用sql导入excel文件时提示:“未在本地计算机上注册 Microsoft.ACE.OLEDB.15.0 提供程序”
请问是何原因??
(1)情况1
目前只能导入excel 97-2003格式之前的表,这后格式的文件导入时都会提示以下一条错误信息:
未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序。 (System.Data)
这是选excel 2007-2010时的,2013和2016错误信息中的数字 变成了15.0和16.0。
我系统是64位的,office 365也是64位的,所以安装 了AccessRuntime_x64_zh-cn.exe这个64位版本。
除了2016的access runtime无法安装,其他的运行库都安装 了,还是一样的问题。
(2)分析解决
终于找到问题之所在了,特回此贴留档。
历经多日,用度娘翻了N个网页,基本都是说如何下载安装驱动、也有说到按程序版本安装32位和64位驱动。
一直以为用的64位版本的SQL,安装64位版本的accessruntime。
无意间查看了下导入和导出向导属性,发现64位的SQL Server 2016调用的竟然是2017RC1 32位向导程序,手工启动64位的2016导入导出向导可正常导入2013版excel文件了。
下图中 Program Files (x86)目录分别是2016和2017版32位的导入导出向导, Program Files目录下是64位的导入导出向导。
那么,这个是在安装目录,并不一定在C盘;比如我的就在D盘,64位和32位的都找到了
URL 32位:D:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn
URL 64位:D:\Program Files\Microsoft SQL Server\130\DTS\Binn