Verbindung zur Datenbank erhalten

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von raist10.

    Verbindung zur Datenbank erhalten

    Eine WPF Anwendung nutzt eine MySQL Datenbank. Die Verbindung zur DB funktioniert ausgezeichnet.

    Wenn die Daten für wenige Minuten nicht bearbeitet werden, die Arbeit ruht wird die Verbindung zur Datenbank getrennt. Das soll so nicht sein.

    Es besteht eine Dauerhafte Internetverbindung und ich nutze Win7 bzw. XP

    Welche Einstellungen müßte ich ändern?
    Poste mal deinen Code damit wir deinen Code sehen und ggf eine Hilfestellung geben können

    Hallo



    Ich habe mich zwischenzeitich belesen. Es liegt an der Einstellung der MySQL Datenbank auf dem Server "connect_timout". Jetzt stellt sich mir die Frage wie ich diesen Wert ändern kann. Die Beschreibungen bei google kann ich nicht so richtig nachvollziehen.

    Ich benutze PHPMyAdmin zur Datenbankverwaltung
    @ Thomas2705

    Es gibt da einen einfach kleinen Trick der dafür öfters angewendet wird ... einfach für die Dauer der Anwendung ein Dummy-Table in einem Holder öffnen und diesen Holder erst bei schliessen der Anwendung frei geben. Dadurch besteht ein dauerhafter Zugriff auf ein Table in der DB und dadurch kommt kein TimeOut zu Standen da ja eine Aktion stattfindet ... nämlich der Zugriff auf das Dummy-Table.

    Gruß

    Rainer

    Thomas2705 schrieb:

    Die Änderung der Einstellungen innerhalb der DB auf dem Server geht wohl nicht?


    Doch durchaus. Aber es ist nicht sinnvoll da die TimeOut-Eigenschaft eine sehr wichtige Daseinsberechtigung hat. Nimmst Du die grundsätzlich raus oder setzt die grundsätzlich auf Unendlich, dann ist das absolut nicht sinnvoll.

    Dir geht es ja rein um die Thematik eine Verbindung offen zu halten damit der Zugriff vom Client zum Server schneller erfolgt weil nicht bei jedem Zugriff eine Connection neu erzeugt werden muss.

    Und dafür solltest Du auf gar keinen Fall die Server-Einstellungen ändern sondern schlicht beim Client eine persistente Connection einrichten und die mit der Öffnung eines Dummy-Tables im Server am Leben erhalten.

    Wäre zumindest mal meine bescheidende Meinung. ;)

    Gruß

    Rainer
    Einfach in der Connection die Du am Leben halten willst eine Recordset/DataTableAdapter auf die Tabelle öffnen und diesen Zugriff in einer Variable halten die erst beim Beenden des Programms wieder frei gegeben wird.

    Durch den Zugriff über die Connection auf das Table ist die Connection dann nicht mehr ohne Zugriff.

    Wie Du das genau machst hängt von dem Objekt-Modell (ADO mit OCDB oder OLeDB oder what ever) ab das Du für den Zugriff auf die DB verwendest.

    Gruß

    Rainer