jwcolby
jwcolby at colbyconsulting.com
Fri Oct 29 05:31:22 CDT 2010
I've never programmed against an MDB.
Are you opening and closing the connection repeatedly? I did have an issue where I was "leaking"
connections (kinda) and ran out of connections to SQL Server. Basically the garbage collector runs
when it thinks it needs to. If you don't force a cleanup of non-native (to .Net) objects such as
SQL Server connections, then the GC doesn't know it needs to clean up and doesn't do so. I had to
build a dispose method for my classes and intentionally call that dispose method as the class was
closed, which forced the GC to release the non-native objects immediately instead of whenever it
decided to.
John W. Colby
www.ColbyConsulting.com
On 10/29/2010 5:05 AM, Shamil Salakhetdinov wrote:
> Hi All --
>
> After several hours (~6 hours Win7 64bit, ~24hours WinXP) of running
> multi-threaded (.NET Framework 3.5 SP1 WinForms) desktop application using
> .mdb files as backend I'm getting the following runtime error:
>
> Exception -> Unspecified error
>
> StackTrace -> at
> System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString
> constr, OleDbConnection connection)
> at
> System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOption
> s options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
> owningObject)
> at
> System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCon
> nection owningConnection, DbConnectionPoolGroup poolGroup)
> at
> System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
> owningConnection)
> at
> System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
> outerConnection, DbConnectionFactory connectionFactory)
> at System.Data.OleDb.OleDbConnection.Open()
> at
> NetworkManager.SearchInputFileHandler.GetInputRows(SearchProgramTypeEnumerat
> ion programType, Int32 startRowNum, Int32 rowsQty, Boolean setupInProgress,
> Boolean filterOutUninitializedRows)
>
> It looks like this is an OleDbProvider bug.
>
> Have you seen/experienced something like that?
>
> Context:
>
> 1. I do exclusively use
>
> using (OleDbConnection cnn = new
> OleDbConnection("{{mymdbConnectionStringHere}}"))
> {
> cnn.Open();
> ...
> }
>
> 2. I do use IN clause in some select SQL expressions to point to external
> MDB tables.
>
> I guess the issues is caused by case (2). Although that's still a hypothesis
> here to check (some code fixes are needed in the core code of my
> application, and I'm considreing now will that be worth fixing, or I should
> better switch to MS SQL backend.)
>
> Thank you.
>
> --
> Shamil
>
>
> _______________________________________________
> dba-VB mailing list
> dba-VB at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/dba-vb
> http://www.databaseadvisors.com
>
>