EntLib for .NET 2.0 - January 2006 and MySQL

R

rockdale

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
 
R

rockdale

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.OpenConnection()
in C:\WorkSpace\Microsoft Enterprise Library January 2006\src\Data
\Database.cs:1222

Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteScalar(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(ImageClickEventArgs
e) +105
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String
eventArgument) +115

System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.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
 
S

sloan

Who created the concrete implementation for the MySql database?

http://www.google.com/search?source=ig&hl=en&rlz=&q=EnterpriseLibrary+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.




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.OpenConnection()
in C:\WorkSpace\Microsoft Enterprise Library January 2006\src\Data
\Database.cs:1222

Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteScalar(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(ImageClickEventArgs
e) +105
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String
eventArgument) +115

System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.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
 
R

rockdale

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top