Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.Data.OleDb.OleDbConnectionInternal..ctor:未指定错误_C#_.net_Oledb_Oledbconnection - Fatal编程技术网

C# System.Data.OleDb.OleDbConnectionInternal..ctor:未指定错误

C# System.Data.OleDb.OleDbConnectionInternal..ctor:未指定错误,c#,.net,oledb,oledbconnection,C#,.net,Oledb,Oledbconnection,在使用.mdb文件作为后端运行多线程(.NET Framework 3.5 SP1 WinForms)桌面应用程序数小时(约6小时Win7 64位,~24小时WinXP)后,出现以下运行时错误: 异常->未指定错误 StackTrace-> 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString 构造,OLEDB连接) 在 System.Data.OleDb.OleDbConnectionFactory.Cr

在使用.mdb文件作为后端运行多线程(.NET Framework 3.5 SP1 WinForms)桌面应用程序数小时(约6小时Win7 64位,~24小时WinXP)后,出现以下运行时错误:

异常->未指定错误

StackTrace->

在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString 构造,OLEDB连接)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions 选项、对象池组ProviderInfo、, DbConnectionPool池,DbConnection 拥有对象)

在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection 拥有连接, 数据库连接池组(池组)

在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection 拥有连接)

在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection 外部连接,数据库连接工厂 连接工厂)

在 System.Data.OleDb.OleDbConnection.Open()

在 NetworkManager.SearchInputFileHandler.GetInputRows(SearchProgramTypeEnumeration 程序类型,Int32 startRowNum,Int32 rowsQty,布尔设置进程, 布尔过滤器OutUninitializedRows)

看起来这是一个OleDbProvider错误

你见过/经历过类似的事情吗

背景:

(1) 我只使用

使用(OleDbConnection cnn=new-OleDbConnection(“{mymdbConnectionStringHere}}”)){

cnn.Open()

}

(2) 我确实在一些SELECTSQL表达式中使用IN子句来指向外部MDB表

我想问题是由案例(2)引起的。尽管这仍然是一个假设(我的应用程序的核心代码中需要一些代码修复,我现在正在考虑这是否值得修复,或者我最好切换到MS SQL后端。)


谢谢。

我已经编写了示例测试应用程序-该问题是由.NET System.Data.OleDb内部某个地方的错误引起的


Test VS2008 SP1解决方案发布于此处:

在找到此问题的解决方案或更稳定的解决方案方面是否有任何进展

我在ASP.NET应用程序中读取Excel文件时遇到类似问题。它仅在生产环境中可见,在生产环境中,许多用户试图在服务器端处理不同的XLS文件。在夜间回收IIS服务后,大约有200个请求(打开excel)挂起了JET引擎。问题是所有后续尝试都失败了,因此重试逻辑不会有多大帮助。只有IIS重置才能解决此问题

根据我所做的调查,有几种选择:

  • 切换到其他库以读取XLS文件: Excel OLE自动化-要求在服务器上安装Excel,并且有许多请求会创建许多Excel流程实例,这是不可接受的。 第三方图书馆-这些都是免费的吗
  • 将excel处理移动到单独的处理。以XML形式与其他格式交换数据
  • 使用某种智能处理来控制过程中OLEDB打开和关闭的数量

  • 有什么想法吗?

    我也有同样的问题。在IIS中只重新序列化应用程序池对我来说很有效

    异常很可能发生在Open()调用中,因此请仔细检查连接字符串、数据库凭据等。未指定错误。。必须是存在的最有用的错误消息。@Mamta Dalal:如果问题在几个小时后发生,请确定不是连接字符串和数据库凭据。。我也有同样的问题,我也渴望找到一个解决方案。你以某种方式解决了这个问题吗?即使没有使用任何in子句(或链接表),那么我在这里编写的OleDb示例应用程序在大约70000个连接创建/破坏后失败-TestConnection。错误:未指定错误-29/10/2010 22:42:25:7737。StartTime=29/10/2010 21:59:33,EndTime=29/10/2010 22:42:25,TotalCount=69633,ElapsedTime=0.7142小时。。。