连接错误太多

时间:2013-08-27 13:23:23

标签: c# ado.net mysql-connector

我的C#应用​​程序出错了。我不确定这是我的程序还是我的网站。这是一个游戏模拟器,它说运行“太多连接”1-2小时后。它也在我的网站上说。

此代码出错的行在下面,它会在崩溃时出现错误并突出显示单词connection.Open();。我认为这与不关闭连接有关。

// C#编码(在VB中)

private static SqlDatabaseClient CreateClient(int Id)
{
    MySqlConnection connection = new MySqlConnection(GenerateConnectionString());
    connection.Open();
    return new SqlDatabaseClient(Id, connection);
}

//应用程序错误

[04:51] Exception - Session -> To many connection[]MySqlData.MySqlClient.MySqlPacket ReadPacket<> @ at MysqlData.MySqlClient.MySqlStream.Readpacket<>
at MySql.Data.MySqlClient.NativeDriver.Open<>
at MySql.Data.MySqlClient.Driver.Open<>
at MySql.Data.MySqlClient.Driver.Create
at MySql.Data.MySqlClient.MySqlPool.GtPooledConnection<>
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver<>
at MySql.Data.MySqlClient.MySqlPool.GetConnection<>
at MySql.Data.MySqlClient.MySqlConnection.Open<>
at Reality.Storage.SqlDatabaeManager.CreateClient in C:\iRP\SqlDatabaseClient.cs:line 24d

2 个答案:

答案 0 :(得分:0)

将访问数据库的代码置于using子句中是一种好习惯。通过这样做,您将确保在不再使用连接时将其丢弃。

答案 1 :(得分:0)

C# Too many connections in MySQL

看看那个链接。您需要使用'using'语句,以便正确打开和关闭连接。