zl程序教程

您现在的位置是:首页 >  工具

当前栏目

sql server导出到excel错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

2023-09-11 14:21:09 时间

【思路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