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

使用.mdb文件作为后端运行multithreading(.NET Framework 3.5 SP1 WinForms)桌面应用程序几个小时(约6小时Win7 64位,~24小时WinXP)后,我收到以下运行时错误:

例外 – > 未指定错误

StackTrace – >

在System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,OleDbConnection连接)
在System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions选项,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningObject)

在System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection,DbConnectionPoolGroup poolGroup)

在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)

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

在NetworkManager.SearchInputFileHandler.GetInputRows(SearchProgramTypeEnumeration programType,Int32 startRowNum,Int32 rowsQty,Boolean setupInProgress,Boolean filterOutUninitializedRows)

看起来这是一个OleDbProvider错误。

你见过/经历过这样的事吗?

语境:

(1)我专门使用

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

cnn.Open();

}

(2)我在一些select SQL表达式中使用IN子句指向外部MDB表。

我猜问题是由案例(2)引起的。 虽然这仍然是一个假设在这里检查(我的应用程序的核心代码中需要一些代码修复,我现在考虑将值得修复,或者我应该更好地切换到MS SQL后端。)

谢谢。

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

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

从我所做的调查中,有几种选择:

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

有什么想法吗?

我有同样的问题。 Recyling只有IIS中的应用程序池为我工作。

我编写了示例测试应用程序 – 问题是由.NET System.Data.OleDb内部的某个错误引起的。

测试VS2008 SP1解决方案发布在这里: System.Data.OleDb bug演示示例。