且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法

更新时间:2021-12-13 07:03:38

转自Devil_Zhang原文

 

 

操作系统:使用的是64位的Windows Server 2008

解决办法: 

这是由于该计算机上没有安装Microsoft Access Database Engine组件,该组件帮助在现有的Microsoft Office文件与其他数据源之间传输数据。 
 
在向软件中导入数据时,如果数据源选用Excel时,连接字符串中使用的是“Microsoft.ACE.OLEDB.12.0”,所以必须安装该组件。 
对于使用64位操作系统的用户,请下载相应的64位程序。 
 
具体下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displayLang=zh-cn 
 
对于一些早期用户,如果连接字符串中使用的是“Microsoft.Jet.OLEDB.4.0”,由于Jet项目已经停止,该项目不再提供64位程序,所以无法继续使用此种连接方式,请改用“Microsoft.ACE.OLEDB.12.0”,并在服务器上安装相应的64位程序。
 
如果进行如上操作还是不能解决的话,请参照如下方法:
调用C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe
一定要是(X86)这个文件夹下的哦,这个命令行工具的具体用法可以查看MSDN
 
总结如下:
从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法
1.  在用SQL SERVER访问.xlsx文件(office2007&2010文件格式)时,必须用provider 'Microsoft.ACE.OLEDB.12.0' 来实现。
2.  首先要安装AccessDatabaseEngine.exe。    下载路径:http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
3.  在32位系统中可以在数据库中看见这个provider。
4.  在64位系统中不能看见它,这时需调用    C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTExec.exe来执行package。
从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的***、好奇、充满创造力的想法被现实的框架所束缚,让创造力***成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。


    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/7145049.html,如需转载请自行联系原作者