MySql.Data.MySqlClient Fehler: Timeout expired

  • C#

    MySql.Data.MySqlClient Fehler: Timeout expired

    Hallo,

    ich bekomme leider einen Fehler den ich nicht ganz nachvollziehen kann:
    Fehlermeldung:

    MySql.Data.MySqlClient.MySqlException: "error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."


    Ich öffne / schließe meine Verbindungen immer und verwende sogar using, sodass die Verbindung ganz sicher geschlossen wird.


    C#-Quellcode

    1. public static Feld GetFeldById(int id)
    2. {
    3. Feld feld = new Feld();
    4. using (var conn = new MySqlConnection(MySqlSettings.ConnectionString))
    5. {
    6. string cmdText = "SELECT * FROM felder WHERE id = @id";
    7. MySqlCommand cmd = new MySqlCommand(cmdText, conn);
    8. cmd.Parameters.AddWithValue("@id", id);
    9. conn.Open();
    10. MySqlDataReader reader = cmd.ExecuteReader();
    11. while (reader.Read())
    12. {
    13. // nix relevantes
    14. }
    15. conn.Close();
    16. }
    17. return feld;
    18. }
    19. public Feld Create()
    20. {
    21. int lastInsertId = 0;
    22. using (var conn = new MySqlConnection(MySqlSettings.ConnectionString))
    23. {
    24. string cmdText = "INSERT into felder (drucksorte) VALUES (@drucksorte); SELECT LAST_INSERT_ID()";
    25. MySqlCommand cmd = new MySqlCommand(cmdText, conn);
    26. cmd.Parameters.AddWithValue("@drucksorte", this.Drucksorte.Id);
    27. conn.Open();
    28. MySqlDataReader reader = cmd.ExecuteReader();
    29. while (reader.Read())
    30. {
    31. lastInsertId = reader.GetInt32(0);
    32. }
    33. conn.Close();
    34. }
    35. return Feld.GetFeldById(lastInsertId);
    36. }