Sha*_*ilS 6 .net c# oledb oledbconnection
使用.mdb文件作为后端运行多线程(.NET Framework 3.5 SP1 WinForms)桌面应用程序几个小时(约6小时Win7 64位,~24小时WinXP)后,我收到以下运行时错误:
异常 - > 未指定的错误
StackTrace - >
System.Data.OleDb.OleDbConnectionFactory.CreateConnection上的System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,OleDbConnection连接)
(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后端.)
谢谢.
我已经编写了示例测试应用程序 - 该问题是由 .NET System.Data.OleDb 内部某处的错误引起的。
测试 VS2008 SP1 解决方案发布于此处:System.Data.OleDb bug 演示示例。