MySql Verbindung wird nicht geschlossen

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    MySql Verbindung wird nicht geschlossen

    Hey Leute ich habe folgendes Problem:
    und zwar hab ich ein Programm geschrieben, dass relativ oft auf eine MySql DB zugreift. Aber ich habe irgendwie das Gefühl, dass die Verbindung nach der Aktion nicht richtig geschlossen wird.

    Das habe ich mir dann auch mit der netstat.exe bestätigen lassen, die Verbindung ist geöffnet, solange das Programm offen ist.
    Das nervige daran ist dass ich max. 25 Verbindungen gleichzeitig offen lassen kann, d.h. es können max. 25 Clienten gleichzeitig offen sein.

    Hier mein Code, den ich für eine Verbindung nutze:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim conzaehler As New MySqlConnection
    2. Dim cmdzaehler As New MySqlCommand
    3. Dim myAdapterzaehler As New MySqlDataAdapter
    4. conzaehler.ConnectionString = "Data Source=***;Database=****;UID=****;pwd=****"
    5. cmdzaehler.Connection = conzaehler
    6. cmdzaehler.CommandText = "UPDATE informationen SET zaehler = zaehler+1"
    7. Try
    8. conzaehler.Open()
    9. myAdapterzaehler.SelectCommand = cmdzaehler
    10. cmdzaehler.ExecuteNonQuery()
    11. conzaehler.Close()
    12. Catch ex As Exception
    13. MsgBox("ERROR: Cant connect to our Server", ex.Message)
    14. End Try

    bzw.

    VB.NET-Quellcode

    1. Dim con As New MySqlConnection
    2. Dim cmd As New MySqlCommand
    3. Dim dreader As MySqlDataReader
    4. con.ConnectionString = "Data Source=***;Database=****;UID=****;pwd=****"
    5. cmd.Connection = con
    6. cmd.CommandText = "SELECT * FROM informationen"
    7. Try
    8. con.Open()
    9. dreader = cmd.ExecuteReader()
    10. Do While dreader.Read()
    11. infofeld.Text = "Info: " & (dreader("Info"))
    12. infofeld.ForeColor = Color.White
    13. Loop
    14. dreader.Close()
    15. con.Close()
    16. Catch ex As Exception
    17. MsgBox("An error has occurred. The application will be shut down.")
    18. Application.Exit()
    19. End Try


    wäre sehr dankbar, wenn ihr mir helfen könntet..

    Danke im Vorraus!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „fammin“ ()

    Bitte VB-Tag benutzen - aber richtig

    Also am gezeigten Code sollte es nicht liegen. Mehr als Connection.Close aufrufen brauchst du AFAIK nicht zu machen.

    aber ich kenne auch nicht das NetStat-Programm, oder weiß auch sonst nicht, woher den "Gefühl" von offengelassenen Connections herrührt.
    Vlt. hat MySql auch einen Connection-Pool auf Server-Seite, also dass da immer die einige Connections gehalten werden, vorzugsweies jene, die oft genutzt werden.