gpt4 book ai didi

C# MySQL 连接 - 多线程 - 无法连接

转载 作者:行者123 更新时间:2023-11-29 18:00:46 26 4
gpt4 key购买 nike

首先一切都运行良好。我正在运行一个有 100 个线程的程序,每个线程都建立一个数据库连接。一段时间后,我收到以下错误消息:

"cannot connect to any of the specified mysql hosts" (Inner Exception: Connection Timed Out)

MySQL 服务器正在 Windows 计算机上运行 (Win Server 2012)。

我已将mySql连接限制设置为10k,但问题仍然出现

using (MySqlConnection mConnection = new MySqlConnection(connectionString))
{
mConnection.Open();

using (MySqlCommand myCmd = new MySqlCommand("XXX"))
{
myCmd.CommandType = CommandType.Text;

// DO STUFF HERE
myCmd.Connection.Dispose();
}

mConnection.Close();
mConnection.Dispose();
}

最佳答案

也许这可以解决您的问题:

 using (MySqlConnection mConnection = new MySqlConnection(connectionString))
{
using (MySqlCommand myCmd = mConnection.CreateCommand())
{
mConnection.Open();
myCmd.CommandTimeout = 60;
myCmd.CommandType = CommandType.Text;
myCmd.CommandText = "XXX";

using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
// DO STUFF HERE
}
}
}
}

您可以根据需要设置超时值(请注意,超时以秒为单位而不是毫秒)。

如果您使用 using () { ... }<,则也不需要使用 .Close().Dispose()/.

编辑:根据下面的评论更新了答案。

关于C# MySQL 连接 - 多线程 - 无法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48370053/

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