EntLib for .NET 2.0 - January 2006 and MySQL

EntLib for .NET 2.0 - January 2006 and MySQL

am 26.12.2007 21:58:19 von rockdale.green

Hi, all:

My web application using MS EntLib for .net 2.0 (Jan 2006) to access
my backend database. It works fine with MS SQL 2k. Now we are migrate
from MS SQL to mySQL. Everything looks fine except one serious
problem: we got the "too many connections" error. Looks like the
EntLib did not properly close these connections.

on mySQL Administrator> server connections> Threads I can see a new
thread created after a couple of DatabaseFactory.CreateDatabase()
functions being called;

I am suppose that the EntLib will close the connectons and return it
back to connection pool?

my database access function looks like:

Database db = DatabaseFactory.CreateDatabase();
define DBcommand
execute command (db.ExecuteScalar, db.ExecuteDataSet or
db.ExecuteReader)

Am I miss anything? Help please.

Thanks in advance
-rockdale

Re: EntLib for .NET 2.0 - January 2006 and MySQL

am 26.12.2007 22:21:07 von rockdale.green

This is the error message and trace info:

This happens even I kill all connections:

Exception Details: MySql.Data.MySqlClient.MySqlException: error
connecting: Timeout expired. The timeout period elapsed prior to
obtaining a connection from the pool. This may have occurred because
all pooled connections were in use and max pool size was reached.

Stack Trace:

[MySqlException (0x80004005): error connecting: Timeout expired. The
timeout period elapsed prior to obtaining a connection from the pool.
This may have occurred because all pooled connections were in use and
max pool size was reached.]
MySql.Data.MySqlClient.MySqlPool.GetConnection() +124
MySql.Data.MySqlClient.MySqlConnection.Open() +223

Microsoft.Practices.EnterpriseLibrary.Data.Database.OpenConn ection()
in C:\WorkSpace\Microsoft Enterprise Library January 2006\src\Data
\Database.cs:1222

Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteS calar(DbCommand
command) in C:\WorkSpace\Microsoft Enterprise Library January 2006\src
\Data\Database.cs:588
DataAccess.UserLogin(String pLoginId, String pPwd, String
pUserHost) +105
Pages_Login.ButtonLogin_OnClick(Object sender, EventArgs e) +111
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEven tArgs
e) +105
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(Str ing
eventArgument) +115

System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBac kEventHandler.Ra=
isePostBackEvent(String
eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
+33
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+5102

------------------------------------------------------------ ----------------=
----
Version Information: Microsoft .NET Framework Version:2.0.50727.42;
ASP.NET Version:2.0.50727.42


On Dec 26, 3:58=A0pm, rockdale wrote:
> Hi, all:
>
> My web application using MS EntLib for .net 2.0 (Jan 2006) to access
> my backend database. It works fine with MS SQL 2k. Now we are migrate
> from MS SQL to mySQL. Everything looks fine except one serious
> problem: =A0we got the "too many connections" error. Looks like the
> EntLib did not properly close these connections.
>
> on mySQL Administrator> server connections> Threads I can see a new
> thread created after a couple of DatabaseFactory.CreateDatabase()
> functions being called;
>
> I am suppose that the EntLib will close the connectons and return it
> back to connection pool?
>
> my database access function looks like:
>
> Database db =3D DatabaseFactory.CreateDatabase();
> define DBcommand
> execute command =A0(db.ExecuteScalar, db.ExecuteDataSet or
> db.ExecuteReader)
>
> Am I miss anything? Help please.
>
> Thanks in advance
> -rockdale

Re: EntLib for .NET 2.0 - January 2006 and MySQL

am 27.12.2007 17:36:38 von sloan

Who created the concrete implementation for the MySql database?

http://www.google.com/search?source=ig&hl=en&rlz=&q=Enterpri seLibrary+MySql

You'll need to find those people and use their support.

The framework includes (if I recall correctly) Sql Server , Oracle and DB2.
(Aka, the included concrete versions)

But someone else has written the concrete version for MySql.




"rockdale" wrote in message
news:cabda359-0e6e-48a4-b48b-1b87e84b217e@e4g2000hsg.googleg roups.com...
This is the error message and trace info:

This happens even I kill all connections:

Exception Details: MySql.Data.MySqlClient.MySqlException: error
connecting: Timeout expired. The timeout period elapsed prior to
obtaining a connection from the pool. This may have occurred because
all pooled connections were in use and max pool size was reached.

Stack Trace:

[MySqlException (0x80004005): error connecting: Timeout expired. The
timeout period elapsed prior to obtaining a connection from the pool.
This may have occurred because all pooled connections were in use and
max pool size was reached.]
MySql.Data.MySqlClient.MySqlPool.GetConnection() +124
MySql.Data.MySqlClient.MySqlConnection.Open() +223

Microsoft.Practices.EnterpriseLibrary.Data.Database.OpenConn ection()
in C:\WorkSpace\Microsoft Enterprise Library January 2006\src\Data
\Database.cs:1222

Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteS calar(DbCommand
command) in C:\WorkSpace\Microsoft Enterprise Library January 2006\src
\Data\Database.cs:588
DataAccess.UserLogin(String pLoginId, String pPwd, String
pUserHost) +105
Pages_Login.ButtonLogin_OnClick(Object sender, EventArgs e) +111
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEven tArgs
e) +105
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(Str ing
eventArgument) +115

System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBac kEventHandler.RaisePostBackEvent(String
eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
+33
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+5102

------------------------------------------------------------ --------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42;
ASP.NET Version:2.0.50727.42


On Dec 26, 3:58 pm, rockdale wrote:
> Hi, all:
>
> My web application using MS EntLib for .net 2.0 (Jan 2006) to access
> my backend database. It works fine with MS SQL 2k. Now we are migrate
> from MS SQL to mySQL. Everything looks fine except one serious
> problem: we got the "too many connections" error. Looks like the
> EntLib did not properly close these connections.
>
> on mySQL Administrator> server connections> Threads I can see a new
> thread created after a couple of DatabaseFactory.CreateDatabase()
> functions being called;
>
> I am suppose that the EntLib will close the connectons and return it
> back to connection pool?
>
> my database access function looks like:
>
> Database db = DatabaseFactory.CreateDatabase();
> define DBcommand
> execute command (db.ExecuteScalar, db.ExecuteDataSet or
> db.ExecuteReader)
>
> Am I miss anything? Help please.
>
> Thanks in advance
> -rockdale

Re: EntLib for .NET 2.0 - January 2006 and MySQL

am 28.12.2007 18:22:39 von rockdale.green

Thanks, I think I figured it out. I ran my application on debug mode
and throw exceptions then I stoip the debugging, that's why the
connection is not closed ? I believe. Since after 2 days I do not have
this problem anymore.

The concrete implementation is downloaded from mysql website, they
called it .net connector.