使用 .mdb 文件作为后端运行多线程(.NET Framework 3.5 SP1 WinForms)桌面应用程序几个小时(~6 小时 Win7 64 位,~24 小时 WinXP)后,我收到以下运行时错误:
异常 ->未指定的错误
堆栈跟踪->
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection 连接)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions 选项, 对象 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) 我确实在某些选择 SQL 表达式中使用 IN 子句来指向外部 MDB 表。
我猜这些问题是由案例(2)引起的。虽然这仍然是一个需要检查的假设(我的应用程序的核心代码中需要一些代码修复,我现在正在考虑是否值得修复,或者我应该更好地切换到 MS SQL 后端。)
谢谢你。