进销存系统导入excel文件时提示[ODBC Microsoft EXCEL 驱动程序] 保留错误(-5016)没有这种错误的消息

进销存系统导入excel文件时提示[ODBC Microsoft EXCEL 驱动程序] 保留错误(-5016)没有这种错误的消息,第1张

由于微软在2017-10-10左右更新了安全补丁(KB4041678,KB4041681)

从而更新了Microsoft JET Database Engine导致asp、aspnet等无法读取Excel。

出错提示1:Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Excel 驱动程序] 保留错误 (-5016); 没有这种错误的消息。

出错提示2:导入或者查询excel 提示:外部数据库驱动程序中(1)的意外错误

一直正常,没有修改过配置,只是更新了补丁就查询不了了,所以基本上是补丁问题。

百度到的方法大都是卸载补丁

解决方案:在控制面板>程序>程序和功能>已安装更新中,找到对应的两个补丁,进行卸载。

本人也收到多位asp+excel通用查询系统忠实用户的反馈。

其中一位用户提供了解决方法,本人亲测可用,故予以分享。

实现原理:使用旧版msexcl40dll即可解决。

第一步:下载旧版 msexcl40dll

打补丁后异常的新版:337KB版本4098011

我们得下载最新旧版:332KB版本4098010

或更早版本:比如:4095020

第二步:更名后复制到相同位置

文件名更改msexcl40dll为msexcl40_aiyahadll

复制到C:\Windows\SysWOW64\下

新复制的旧版位置:C:\Windows\SysWOW64\msexcl40_aiyahadll

第三步:修改注册表对应的位置参数

运行-->regedit 进入注册表并搜索msexcl40dll

得到注册表位置:(如图)

双击修改名称win32值为:C:\Windows\SysWOW64\msexcl40_aiyahadll

第四步:Win2008 64位环境下亲测,无需重启已经正常

尝试下这个

select INTO XXXX FROM OPENDATASOURCE('MicrosoftJetOLEDB40',

'Data Source=e:\XXXXxls;Extended Properties=Excel 80')[sheet1$]

看你连的是sqlsever 推荐用sqlserver提供的驱动来连接

String driverName = "commicrosoftsqlserverjdbcSQLServerDriver"; //加载JDBC驱动

String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=name"; //连接

以上就是关于进销存系统导入excel文件时提示[ODBC Microsoft EXCEL 驱动程序] 保留错误(-5016)没有这种错误的消息全部的内容,包括:进销存系统导入excel文件时提示[ODBC Microsoft EXCEL 驱动程序] 保留错误(-5016)没有这种错误的消息、从外部数据库驱动程序错误问题,怎么解决、为什么数据库驱动加载总是失败等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9797190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存