[dba-VB] Unspecified Error

Shamil Salakhetdinov shamil at smsconsulting.spb.ru
Fri Oct 29 08:59:41 CDT 2010


Hi John --

Thank you for your reply.

I guess "connections leaking" happens in my case because of the usage of IN
clause and because of bug in OleDbProvider happening in that context:
"automatic connection" opened somewhere inside OleDbProvider isn't getting
closed - something like that....

In general when you use:

using (OleDbConnection cnn = new
OleDbConnection("{{mymdbConnectionStringHere}}"))
 {
      cnn.Open();
      ...
}

then there is no "connections leaking" - GC works well. 
The same is true for SQL Server data provider also.

Thank you.

--
Shamil
 
-----Original Message-----
From: dba-vb-bounces at databaseadvisors.com
[mailto:dba-vb-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: 29 ??????? 2010 ?. 14:31
To: Discussion concerning Visual Basic and related programming issues.
Subject: Re: [dba-VB] Unspecified Error

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(DbConnection
> Option 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(DbConnectio
> n
> owningConnection)
>     at
> System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnectio
> n outerConnection, DbConnectionFactory connectionFactory)
>     at System.Data.OleDb.OleDbConnection.Open()
>     at
> NetworkManager.SearchInputFileHandler.GetInputRows(SearchProgramTypeEn
> umerat 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
>
>
_______________________________________________
dba-VB mailing list
dba-VB at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-vb
http://www.databaseadvisors.com




More information about the dba-VB mailing list