本月单据导出突然提示 外部数据库驱动程序中的意外...
金蝶云社区-丿兜兜没糖
丿兜兜没糖
0人赞赏了该文章 1,409次浏览 未经作者许可,禁止转载编辑于2017年10月26日 08:32:19

节后 一些客户的K3突然 某些单据或者报表 无法导出 在最后一步提示“外部数据库驱动程序中的意外错误",报错如图附件
查阅了很多资料,包括卸载并重装K3均不能解决,后来发现解决方案如下:
卸载掉2017-10-10的最新补丁,重启后即可解决,效果立竿见影。
受影响系统如下:

Windows 7 SP1 and WindowsServer 2008 R2 SP
KB4041681-- 2017-10 Security Monthly Quality Rollup for Windows 7 for x86-basedSystems
KB4041678 -- 2017-10 Security Only Quality Update for Windows Embedded Standard7 for x64-based Systems

Windows 8.1 and Windows Server 2012 R2
KB4041693 -- 2017-10 Security Monthly Quality Rollup for Windows 8.1 forx86-based Systems
KB4041687 -- 2017-10 Security Only Quality Update for Windows 8.1 for x86-basedSystems

Windows 10 and Windows Server 2016 (version 1607)
KB4041691-- 2017-10 Cumulative Update for Windows 10 Version 1607and Windows Server 2016

Windows 10 and Windows Server 2016 (version 1703)
KB4041676 -- 2017-10 Cumulative Update for Windows 10 Version 1703

请根据自己的系统版本 卸载对应的补丁即可。
原理如下:
微软在2017-10-10更新了安全补丁(KB4041678KB4041681),两个补丁的更新内容中,都包含有这个更新内容(Security updates to Microsoft Windows Search Component, Windows kernel-mode drivers, Microsoft Graphics Component, Internet Explorer, Windows kernel, Windows Wireless Networking,Microsoft JET Database Engine, and the Windows SMB Server.)。其中我们注意到,由更新了Microsoft JET Database Engine。在补丁的下面有说此次更新会导致的问题(如下),由此我们可以知道,是这个补丁导致的问题。
Installing this update may cause applications based on theMicrosoft JET Database Engine (Microsoft Access 2007 and older or non-Microsoft applications) to fail whencreating or opening Microsoft Excel .xls files. The error message is, “Unexpected error from external database driver (1). (Microsoft JET Database Engine)".
补丁后续说会及时更新这个问题。

网上的方案是:
1.在控制面板>程序>程序和功能>已安装更新中,找到对应的两个补丁,进行卸载。不同系统对应不同的补丁2.微软给出的解决方案是:下载新的驱动引擎(Microsoft Access Database Engine 2010 Redistributable),更改Provider=Microsoft.Jet.OLEDB.4.0为Provider=Microsoft.ACE.OLEDB.12.0。

外国友人给的方案为:

1. Find prior version(4.0.9801.0) of msexcl40.dll
2. Place in another directory. They suggest the application directory, butsince in the next step you will modify registry to point to this older version,it can probably go anywhere.
64-bit Operating System
3. Update registry keyHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel\win32to point to the location from step 2.
32-bit Operating System
3. Update registry keyHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel\win32 to point tothe location from step 2.
32-bit , MS Office 2003
3. Update registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel\win32oldto point to the location from step 2.