Schwerwiegendes Problem mit VB & MySQL

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Schwerwiegendes Problem mit VB & MySQL

    Guten morgen Liebe VBler,

    ich habe vor kurzem mein Programm einem Langzeittest unterzogen, jetzt ist mir folgendes Problem aufgefallen.

    Hier ein kurzes Beispiel meines Quellcodes

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub oeffnungszeitPrüf()
    2. confRead()
    3. Try '' Öffnungszeiten überprüfen
    4. ''Öffnet die verbindung
    5. myConn = New OdbcConnection("Driver={MySQL ODBC 5.1 driver};Server=" & IP _
    6. & ";Database=" & DATENBANK & ";Uid=" & DBUSER _
    7. & ";Pwd=" & DBPASS & ";")
    8. myConn.Open()
    9. strsql = "SELECT oe_von, oe_bis " _
    10. & "FROM oeffnungszeiten " _
    11. & "where oeffnungszeiten.oe_tag = '" & HeutigerTag & "';"
    12. objAdapter = New Odbc.OdbcDataAdapter(strsql, myConn)
    13. objAdapter.Fill(objDataSet, "oeffnungszeiten")
    14. If objDataSet.Tables("oeffnungszeiten").Rows.Count() > 0 Then
    15. With objDataSet.Tables("oeffnungszeiten")
    16. If .Rows.Count() > 0 Then
    17. oeVon = .Rows(0).Item("oe_von").ToString
    18. oeBis = .Rows(0).Item("oe_bis").ToString
    19. End If
    20. End With
    21. End If
    22. If zeitJetzt < oeVon Or zeitJetzt > oeBis Then
    23. alarmok = True
    24. Else
    25. alarmok = False
    26. End If
    27. ExecuteParams()
    28. Catch ex As Exception
    29. ''Schreibt die Fehlermeldung in eine .txt
    30. Fehlerbericht("Ein Fehler ist aufgetretten in Zeile: " & Err.Erl & ex.Message)
    31. End Try
    32. ''Schliesst die Verbindung
    33. myconn.close
    34. End Sub


    Mein Problem ist jetzt das die Verbindung nicht richtig geschlossen wird.



    Frage ist also
    Wie schaffe ich es in VB2010 die verbindungen Kommplett zu schliessen sodass nicht die ganzen Verbindungen Blockiert werden ?

    Danke im vorraus schonmal für die Hilfe
    Sorry ich hab den Fehler gefunden er ist mir grade zu wie eine Erleuchtung zugeflogen.

    Der Fehler liegt in diesem Abschnitt

    VB.NET-Quellcode

    1. ''Zugangsdaten der Connection zuweisen
    2. myConn = New OdbcConnection("Driver={MySQL ODBC 5.1 driver};Server=" & IP _
    3. & ";Database=" & DATENBANK & ";Uid=" & DBUSER _
    4. & ";Pwd=" & DBPASS & ";")
    5. ''Verbindung öffnen
    6. myConn.Open()
    7. ''Die SQL Abfrage einer String Variablen zuweisen
    8. strsql = "SELECT oe_von, oe_bis " _
    9. & "FROM oeffnungszeiten " _
    10. & "where oeffnungszeiten.oe_tag = '" & HeutigerTag & "';"
    11. ''''''''''Jetzt kommt der Fehler
    12. ''An Dieser stelle wird die Verbindung erneut geöffnet vom ODBC Adapter Quasi Doppelt geöffnet aber nur einmal geschlossen
    13. objAdapter = New Odbc.OdbcDataAdapter(strsql, myConn)
    14. objAdapter.Fill(objDataSet, "oeffnungszeiten")


    Trotzdem vielen Dank für eure Hilfe

    symphonie89 schrieb:

    'An Dieser stelle wird die Verbindung erneut geöffnet vom ODBC Adapter Quasi Doppelt geöffnet aber nur einmal geschlossen

    sicher?

    Nach meinen Recherchen verlässt ein DataAdapter die Connection, wie er sie vorfund: War sie geschlossen, so öffnet er sie zur Befüllung und schließt sie nachher, anderenfalls tastet er sie garnet an.

    Ob das ein Bug in Odbc ist? weil meine Recherchen waren OleDb, und habich angenommen, dass sei das Standard-Verhalten aller DataAdapter.