用OleDb导入Excel时提示驱动错误问题解决办法
导入格式为xls的excel文件,发生了错误
未处理System.Data.OleDb.OleDbException HResult=-2147467259 Message=外部数据库驱动程序 (1) 中的意外错误。 Source=Microsoft JET Database Engine ErrorCode=-2147467259 StackTrace: 在
原因:
由于微软在2017-10-10更新了安全补丁(KB4041678,KB4041681),两个补丁的更新内容中,都包含有这个更新内容(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、网上的方案是:在控制面板>程序>程序和功能>已安装更新中,找到对应的两个补丁,进行卸载。不同系统对应不同的补丁,具体可以参考: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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏