进ODBC 中 找不到 microsoft excel driver (*.xls)这个驱动程序是设置错误造成的,解决方法为:
1、打开C盘下面的这个目录C:\Windows\SysWOW64,这个目录中的odbcad32,就是32位的驱动程序。C:\Windows\SysWOW64。
2、在该目录下找到:odbcad32.exe这个文件,双击运行。
3、点击添加按钮,选择 oracle in oraDb10g_home1 驱动,然后就可用添加连接Oracle的ODBC的数据源了。
4、按照下图添加dsn即可。
由于微软在2017-10-10左右更新了安全补丁(KB4041678,KB4041681)
从而更新了Microsoft JET Database Engine导致asp、asp.net等无法读取Excel。
出错提示1:Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Excel 驱动程序] 保留错误 (-5016); 没有这种错误的消息。
出错提示2:导入或者查询excel 提示:外部数据库驱动程序中(1)的意外错误
一直正常,没有修改过配置,只是更新了补丁就查询不了了,所以基本上是补丁问题。
百度到的方法大都是卸载补丁
解决方案:在控制面板>程序>程序和功能>已安装更新中,找到对应的两个补丁,进行卸载。
本人也收到多位asp+excel通用查询系统忠实用户的反馈。
其中一位用户提供了解决方法,本人亲测可用,故予以分享。
实现原理:使用旧版msexcl40.dll即可解决。
第一步:下载旧版 msexcl40.dll
打补丁后异常的新版:337KB版本4.0.9801.1
我们得下载最新旧版:332KB版本4.0.9801.0
或更早版本:比如:4.0.9502.0
第二步:更名后复制到相同位置
文件名更改msexcl40.dll为msexcl40_aiyaha.dll
复制到C:\Windows\SysWOW64\下
新复制的旧版位置:C:\Windows\SysWOW64\msexcl40_aiyaha.dll
第三步:修改注册表对应的位置参数
运行-->regedit 进入注册表并搜索msexcl40.dll
得到注册表位置:(如图)
双击修改名称win32值为:C:\Windows\SysWOW64\msexcl40_aiyaha.dll
第四步:Win2008 64位环境下亲测,无需重启已经正常
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)