Connection pooling in C # MySQL

I have an app C# multi threading

and using MySQL

with one connection to the whole app. But when two or more threads try to access the database at the same time, I get below error:

There is an already open DataReader

one associated with this Connection

, which should be closed first.

My connection code is below

public static _connectionSetup = new MySqlConnection("Server=server ; Database=database;User ID=user;Password=pass;Pooling=true;");

      

and when i need to use connection i use below code: -

using (MySqlConnection connection =_connectionSetup )
{
    using (MySqlCommand command = new MySqlCommand("proc", connection))
    {
        ....
    }
}

      

I tried using pooling=true

and I created two seperated connections and also for two different threads, but still I get the above error.
Did I miss something?

How can I implement a connection pool so that the whole thread uses a separate connection and doesn't cause any problems?

+3


source to share


1 answer


Concatenation is enabled by default, so you don't need this connection string parameter.

Don't use instances MySqlConnection

.
... It's him.



Concatenation is not something you implement in your code, it is done for you with ADO.NET.

+10


source







All Articles