gpt4 book ai didi

C# MySQL 连接池

转载 作者:可可西里 更新时间:2023-11-01 07:12:29 27 4
gpt4 key购买 nike

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

There is already an open DataReader associated with this Connection which must be closed first.

我的连接代码在下面

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 为您完成的。

关于C# MySQL 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26089420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com