我正在C# multi threading申请并使用MySQL单一连接到整个应用程序.但是当两个或多个线程同时尝试访问数据库时,我得到以下错误:
已经有一个
DataReader与此相关的开放Connection,必须先关闭.
我的连接代码如下
public static _connectionSetup = new MySqlConnection("Server=server ; Database=database;User ID=user;Password=pass;Pooling=true;");
Run Code Online (Sandbox Code Playgroud)
当我需要使用连接我使用下面的代码: -
using (MySqlConnection connection =_connectionSetup )
{
using (MySqlCommand command = new MySqlCommand("proc", connection))
{
....
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用pooling=true,我已经为两个不同的线程创建了两个独立的连接,但我仍然遇到上述错误.
我错过了什么吗?
如何实现连接池以便所有线程都使用单独的连接并且不会导致任何问题?