SELECT
のテーブルで実行しようとすると、次のMySql
エラーが発生します。
Server Error in '/MyApp' Application.
Too many connections
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: MySql.Data.MySqlClient.MySqlException: Too many connections
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[MySqlException (0x80004005): Too many connections]
MySql.Data.MySqlClient.MySqlStream.ReadPacket() +517
MySql.Data.MySqlClient.NativeDriver.Open() +702
MySql.Data.MySqlClient.Driver.Open() +245
MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) +297
MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() +18
MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() +403
MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() +228
MySql.Data.MySqlClient.MySqlPool.GetConnection() +106
MySql.Data.MySqlClient.MySqlConnection.Open() +1468
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
.net と C# を使用して iis で実行します。この問題を解決する方法はありますか?
これは、たとえば、私が選択する方法です:
MySqlDataReader msdr;
MySqlConnection connect = new MySqlConnection(connectionStringMySql);
MySqlCommand cmd = new MySqlCommand();
string commandLine = "SELECT * FROM Table WHERE active=1;
commandLine = commandLine.Remove(commandLine.Length - 3);
cmd.CommandText = commandLine;
cmd.Connection = connect;
cmd.Connection.Open();
msdr = cmd.ExecuteReader();
while (msdr.Read())
{
//Read data
}
msdr.Close();
cmd.Connection.Close();
これは私が削除する方法です:
MySqlConnection connect = new MySqlConnection(connectionStringMySql);
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = connect;
cmd.Connection.Open();
string commandLine = @"DELETE FROM Table WHERE id=@id;";
cmd.CommandText = commandLine;
cmd.Parameters.AddWithValue("@id", slotId);
cmd.ExecuteNonQuery();
cmd.Connection.Close();
これは私が挿入する方法です:
MySqlConnection connect = new MySqlConnection(connectionStringMySql);
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = connect;
cmd.Connection.Open();
string commandLine = @"INSERT INTO Table (id, weekday, start, end) VALUES" +
"(@ id, @weekday, @start, @end);";
cmd.CommandText = commandLine;
cmd.Parameters.AddWithValue("@ id", id);
cmd.Parameters.AddWithValue("@weekday", item.weekday);
cmd.Parameters.AddWithValue("@start", new TimeSpan(item.starthour, item.startmin, 0));
cmd.Parameters.AddWithValue("@end", new TimeSpan(item.endhour, item.endmin, 0));
cmd.ExecuteNonQuery();
long id = cmd.LastInsertedId;
cmd.Connection.Close();
return id;