Excel Microsoft.Jet.OLEDB.4.0 外部数据库驱动程序中(1)的意外错误
昨天更新系统的bug,据说是微软要搞事情啊
删除以下更新就行:
win7 KB4041678 KB4041681
SERVER 2008 R2 KB4041678 KB4041681
WIN10 KB4041676 KB4041691
SERVER 2016 KB4041691
使用C#开发的Web系统,其中有项功能,上传Excel报表,从Excel里读取数据,导入到数据库中。
从10月底开始,使用者反应无法正常使用,报如下错误信息:
Unexpected error from external database driver (1)
经查,所有的批量导入都出现这个错误,不能导入,因此判断为是服务器上系统环境发生了改变。
网上查询,是由于10月10日微软发布了新的补丁程序,打了此补丁以后,会影响到读取Excel的引擎。
程序中如果是使用“Provider=Microsoft.Jet.OLEDB.4.0“,则会受影响。
解决办法:
1、卸载此补丁程序
我从控制面板--->删除程序,未找到此补丁程序。
2、使用新的引擎
程序改为”Provider=Microsoft.ACE.OLEDB.12.0“
经如此修改后,我有两个系统,分别部署在A、B服务器上。
1)、A服务器,系统环境Win 2008 R2 64bit English,Office 2010 32bit
在此服务器上,程序更新上去以后,批量导入恢复正常。
2)、B服务器,系统环境Win 2008 R2 64bit English,Office 2010 64bit
在此服务器上,程序更新上去以后 ,批量导入仍然不能使用。报如下错误信息:
The ‘Microsoft.ACE.OLEDB.12.0‘ provider is not registered on the local machine.
检查IIS,应用程序池里已经启用了32位程序的使用。
依照网上查询的下载了新的引擎AccessDatabaseEngine.exe,这个是适用于32位的,又下载了AccessDatabaseEngine_X64.exe(适用于64位)的。
安装AccessDatabaseEngine.exe,提示服务器上当前安装的是64位的Office,不能安装此引擎。
安装AccessDatabaseEngine_X64.exe,可以正常安装,但使用批量导入,仍然报错。
报错误信息:The ‘Microsoft.ACE.OLEDB.12.0‘ provider is not registered on the local machine.
考虑到Web程序是在32位的开发环境下开发的,应该使用32位的引擎。
经网上查询,采用下面方法安装适用于32位的AccessDatabaseEngine.exe,增加参数 /passive,可以绕开检查服务器上当前是64位Office 的检查
运行--->CMD,进入Dos命令行,进入AccessDatabaseEngine.exe所在文件夹,如下:
C:xxxAccessDatabaseEngine.exe /passive
安装成功后,批量导入作业恢复正常
在控制面板里,查看,安装后呈现下面情况:
解决方案: 1、网上的方案是:在控制面板>程序>程序和功能>已安装更新中,找到对应的两个补丁,进行卸载。不同系统对应不同的补丁,具体可以参考:http://www.cnblogs.com/net-god/p/7661313.html 2、微软给出的解决方案是:下载新的驱动引擎(Microsoft Access Database Engine 2010 Redistributable),更改Provider=Microsoft.Jet.OLEDB.4.0为Provider=Microsoft.ACE.OLEDB.12.0。 参考资料: 1、Excel Microsoft.Jet.OLEDB.4.0 外部数据库驱动程序中(1)的意外错误 2、导入表的时候提示“外部数据库驱动程序(1)中的意外错误”解决方法 3、外部数据库驱动程序(1)中的意外错误 2、Unexpected error from external database driver (1) 3、Error in Windows update KB4041681 - Unexpected error from external database driver (1)The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
标签:程序 sdn 下载 extern aac gis lda god 发布
本文系统来源:http://www.cnblogs.com/keim/p/7865394.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!