关于“System.Data.OleDb.OleDbException,外部数据库驱动程序 (1) 中的意外错误。”的解决方案

C#导入Excel时到数据库,报外部数据库驱动程序中(1)的意外错误 解决办法:卸载系统更新的补丁 删除一下更新,即可。 win7                          KB4041678  KB4041681 SERVER 2008 R2 KB4041678  KB4041681 WIN10                      KB4041676  KB4041691 SERVER 2016       KB4041691 阅读详情
AI摘要

本文介绍了在使用 C# 访问 Excel 数据时遇到的 'System.Data.OleDb.OleDbException' 错误,详细讨论了错误原因及提供了解决方案,帮助开发者解决外部数据库驱动程序 (1) 中的意外错误问题。


背景:
客户在导入格式为xls的excel文件,发生了错误(下面是我用程序重现的错误的信息)。

未处理System.Data.OleDb.OleDbException HResult=-2147467259 Message=外部数据库驱动程序 (1) 中的意外错误。 Source=Microsoft JET Database Engine ErrorCode=-2147467259 StackTrace: 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) 在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) 在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) 在 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) 在 System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) 在 System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 在 System.Data.OleDb.OleDbConnection.Open() 在 ConsoleApplication1.Program.Main(String[] args) 位置 c:\Users\pliu\Desktop\WebApi\ConsoleApplication1\ConsoleApplication1\Program.cs:行号 25 在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 在 System.Threading.ThreadHelper.ThreadStart() InnerException:



原因:
由于微软在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 the Microsoft JET Database Engine (Microsoft Access 2007 and older or non-Microsoft applications) to fail when creating 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。

参考资料:
关于“System.Data.OleDb.OleDbException, 0x80004005 外部数据库驱动程序 (1) 中的意外错误。”的解决方案 目前我遇到的是写excel,会出“System.Data.OleDb.OleDbException, 0x80004005 外部数据库驱动程序 (1) 中的意外错误问题网上搜了下,解决办法是这个,目前我是进行删除了补丁原因:由于微软在2017-10-10更新了安全补丁(KB4041678,KB4041681),两个补丁的更新内容中,都包含有这个更新内容(Security updates to Mi... 阅读详情

相关推荐

关于system.data.oledb.oledbexception 未定义的错误

背景:我数据恢复工具恢复了大量的excel文件,但是其中有许多都已经损坏了无法直接打开,手动排除工作量很大,虽然windows 7 下面可以预览,但依旧是一个枯燥的工作,于是我想写一个WinForm程序来批量鉴定excel文件是否能够打开。 在网上找了一下,C#中打开excel有两种常用的方法, 1.Excel.Application xApp=new Excel.ApplicationCla

saintogod的专栏 1227

外部数据库驱动程序(1)中的意外错误

c#程序,最近在Excel导入数据时,部分客户会报:外部数据库驱动程序(1)中的意外错误,如下图所示  解决方法:此问题是由于windows系统自动更新造成的。 1.打开控制面板——卸载程序(或者是添加删除程序) 2.查看已安装的更新 3,如果是PC操作系统(一般是服务器)请按以下系统对应补丁进行处理:Windows server 2008 R2卸载微软

技术专栏 3万+

GPIB通讯的代码怎么写

GPIB(General Purpose Interface Bus)是一种用于连接计算机和测试设备的接口标准。 在写 GPIB 通讯的代码时,首先需要在计算机上安装 GPIB 驱动程序。然后,使用相应的编程语言和 GPIB 库函数来操作 GPIB 设备。 下面是一个使用 Python 语言和 pyvisa 库来实现 GPIB 通讯的示例代码: import visa# 创建 Visa 资源管理器...

weixin_35752645的博客 1545

System.Data.OleDb.OleDbException: 至少一个参数没有被指定值 解决方法

用dataAdapter填充dataset的代码如下:// HDR=YES 有两个值:YES/NO,表示第一行是否字段名,默认是YES,第一行是字段名// IMEX=1 表示是否强制转换为文本,解决数字与字符混合时,识别不正常的情况.// PS:IMEX=0---输出模式;IMEX=1---输入模式;IMEX=2----链接模式(完全更新能力)string oleDbConnectionStr

flyaim的专栏 1万+

自抗扰控制(ADRC)原理与MATLAB实现详解

自抗扰控制(ADRC)是一种先进的鲁棒控制策略,其核心在于通过扩张状态观测器(ESO)实时估计并补偿系统总扰动。相比传统PID控制,ADRC不依赖精确数学模型,特别适合处理非线性、时变系统。从控制原理看,ADRC将系统内部动态和外部扰动统一建模,通过带宽参数化方法实现快速响应与强抗扰能力。在工程实践中,ADRC已成功应用于无人机飞控、伺服系统等场景,MATLAB仿真显示其上升时间可比PID提升46%,抗扰动恢复时间缩短60%。典型实现包含ESO设计、扰动补偿和PD控制三部分,参数整定遵循ω₀=3~5倍系统带

weixin_33585822的博客 95

快速理解STLink引脚图中复位引脚作用

深入讲解STLink引脚图中复位引脚的实际用途,帮助开发者快速掌握其在调试与下载过程中的关键作用,结合stlink引脚图理解更高效。

weixin_32324637的博客 1326

外部数据库驱动程序(1)中的意外错误

原文:用友u8各版本在输出的时候报错提示:外部数据库驱动程序(1)中的意外错误 ,报错内容“外部数据库驱动程序(1)中的意外错误”,经初步分析有以下解决方案:1、卸载微软的补丁:(1)如果是PC操作系统(一般是客户端)请按以下系统对应补丁进行处理:Win7系统卸载微软补丁KB4041678与KB4040966;Win10卸载微软补丁KB4041676与KB4041691(2)如果是PC操作系统(...

weixin_34345753的博客 8830

iverilog+GTKwave使用总结

iverilog是一个开源的硬件描述语言(HDL)仿真工具,用于对硬件描述语言(如Verilog)编写的数字电路进行仿真。它可以将Verilog代码编译为仿真模型,并通过仿真运行来验证设计的正确性。iverilog支持IEEE 1364-2005 Verilog语言标准,并提供了丰富的功能,包括对多种Verilog语言特性的支持、模块化设计、测试平台等。它还可以与其他工具(如GTKWave波形查看器)配合使用,以便进行仿真后的波形查看和分析。

争取早日成为硅农 2万+

关于“System.Data.OleDb.OleDbException,外部数据库驱动程序 (1) 中的意外错误。”的解决方案...

网站之前运行一直很正常,但有一次用户在导入格式为xls的excel文件,发生了错误,跟踪错误后抛出如下的异常: 错误提示: 未处理System.Data.OleDb.OleDbException HResult=-2147467259 Message=外部数据库驱动程序 (1) 中的意外错误。 原因: 由于微软在2017-10-10更新了安全补丁(KB4041678,...

weixin_34319111的博客 548

【福建dem】原始高程数据tif格式

DEM(Digital Elevation Model,数字高程模型)是一种地理信息系统中的关键数据集,它提供了地表地形的三维信息,通常用于分析地貌特征、模拟水文过程、规划建设、灾害预警等多个领域。这种数据对于地理分析非常有价值,例如,它可以用于计算坡度、坡向、地形粗糙度等地形特征,或者进行洪水模拟、地质灾害评估、太阳能辐射分析等。“福建dem原始高程数据tif格式”是研究和理解福建省地形地貌的重要资源,结合GIS工具,可以揭示丰富的地理信息,为科研、工程和决策提供有力支持。

鸿业远图科技 943

二、租用AutoDL服务器与连接教程

点击右上角控制台,选择【租用新的实例】;,我这里使用的是xshell和xftp工具(自行下载)。打开本地目录和服务器目录,直接拖动文件。

zzf021122的博客 1326

System.Data.OleDb.OleDbException: 发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。

执行一个webservice的时候,发生了下面的错误,以前这个是没有问题的。然后看了一下安装程序,发现里面不仅有oracle9i数据库,而且还安装了oracle10client.卸载oracle10client以后就可以了。 原因:有可能是OleDb找不到正确的oracle驱动程序所致。  System.Data.OleDb.OleDbException: 发生了一

asangel的专栏 3918

Python无法拒绝的表白界面(完整代码)

Python制作一个无法拒绝的表白界面的完整代码。

AIGC 5万+

System.Data.OleDb.OleDbException错误

当您连接到 Microsoft Access 数据库从 Microsoft ASP.NET 应用您收到以下错误信息: System.Data.OleDb.OleDbException: 错误在模拟的帐户下运行 ASP.NET Web 应用程序具有 模拟 元素在 Web.config 文件中设置为 true ,并且已在 Web.config 文件中中, 设置 Windows 身份验证

付成铭的专栏 3362

教你如何阅读Autosar代码(6):常量变量定义

编译器抽象应该为常量的声明和定义定义CONST宏。编译器抽象应该定义VAR宏来声明和定义变量。memclass:常量本身的分类;memclass:变量本身的分类;vartype:变量的类型;type:常量的类型;

wdconan001的博客 958

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

“System.Data.OleDb.OleDbException: 未指定的错误”

今天在本地调试先前的一个网站时候,总是报: System.Data.OleDb.OleDbException: 未指定的错误, 但是同一版本在远程服务器上竟然可以正常运行, google了半天终于发现,原来我在web.config里面加了 <system.web> <identity impersonate="true"/> </system.web>...

wjhl04的专栏 1784

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ACCESS的System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误

一直用的是SQL 数据库,突然改用Access了,使用起来就是没有SQL 顺畅,老是出来些意想不到的错误。今天用Access做的网站程序进行添加数据,调试了一下午,总是异常…… 提示ACCESS的System.Data.OleDb.Ole...

aigu6370的博客 251

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

System.Data.OleDb.OleDbException: 未指定的错误的解决方法

System.Data.OleDb.OleDbException: 未指定的错误的解决方法

Littleree的博客 1383

使用Excel时出现System.Data.OleDb.OleDbException: 找不到可安装的 ISAM错误。

 使用Excel时出现System.Data.OleDb.OleDbException: 找不到可安装的 ISAM错误。连接字符串: 网上大多是说连接字符串有问题,但是我的连接字符串没有问题,因为在我的系统上调试没有问题,一旦提交到服务器就会提示。最终采用把Excel在系统注册的方式。解决方法:在运行里输入“Regsvr32 c:/windows/system32/msex

不积跬步,无以至千里;不集细流,无以成江海 4917

Windows XP下使用ASP.Net 访问Access数据库提示“System.Data.OleDb.OleDbException: 未指定的错误”的解决办法

<br />Windows XP的IIS6.1下使用ASP.Net 访问Access数据库时会提示“System.Data.OleDb.OleDbException: 未指定的错误”,但是同样的文件换做Win2003Server下就没有问题,也就是说非程序语句出现的问题。<br /> <br />总结其解决办法如下:<br />1、对Windows/Temp 目录添加Everyone的完全控制权限<br />2、对Access数据库文件进行压缩修复<br />3、修改连接字符串:PROVIDER=Micro

海纳百川@一亩三分地 5298

System.Data.OleDb.OleDbException:“INSERT INTO 语句的语法错误。”--解决办法

参考https://www.cnblogs.com/WZH75171992/p/4221089.html 提示“System.Data.OleDb.OleDbException:“INSERT INTO 语句的语法错误。”” 解决方法如下 string sqla = "insert into register_time([keyID],[current_time],[Probation_peri...

youdaodao的博客 3665

System.Data.OleDb.OleDbException: 未指定的错误的完美解决方法

 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当access频繁读取或操作过多的时候就会发生这个错误,微软官方已找不到具体的解决方法,网上搜索了很多,可以使用下面几种方法解决一下。 可能解决方法1: 重启服务器IIS,释放access连接,这种方法一般最有效,当然前提是自己

shangdaoshan的专栏 1万+
上一篇: Excel的vlookup的注意事项
下一篇: MIUI13和MIUI12的录音存储位置
question00
博客等级 码龄16年 4粉丝 12原创
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值