繁体   English   中英

C#MySQL连接池

[英]C# MySQL Connection Pooling

我正在使用C# multi threading应用程序并使用MySQL与整个应用程序的单一连接。 但是当两个或多个线程同时尝试访问数据库时,我得到以下错误:

已经有一个与此Connection关联的开放DataReader ,必须先关闭它。

我的连接代码如下

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

当我需要使用连接我使用下面的代码: -

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

我尝试使用pooling=true ,我已经为两个不同的线程创建了两个独立的连接,但我仍然遇到上述错误。
我错过了什么吗?

如何实现连接池以便所有线程都使用单独的连接并且不会导致任何问题?

默认情况下启用池,因此您不需要该连接字符串参数。

不要共享MySqlConnection实例。 而已。

池化不是您在代码中实现的,它是由ADO.NET为您完成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM