LabVIEWForum.de
mySQL viele connections - schließen oder eine aufsplitten? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: mySQL viele connections - schließen oder eine aufsplitten? (/Thread-mySQL-viele-connections-schliessen-oder-eine-aufsplitten)



mySQL viele connections - schließen oder eine aufsplitten? - LVT_Hiwi - 12.01.2015 14:06

Hallo LabviewForum,

ich bin neu hier und hätte ein kleines DB Problem, welches denke ich an der Grundstruktur liegt.
Ich verwende das Database connectivity toolkit

meine DB sollte können:
- ich habe eine MSSQL Datenbank in der ich sekündlich Werte reinschreibe.
- es wird parallel in die DB geschrieben
- aus ihr wird auch parallel gelesen und bereits geschriebenen Werte verändert


Nun ist meine Frage, was ist der stabilste Weg connection aufzubauen und zu schließen.
- mache ich eine Verbindung am Anfang auf, splitte sie und schließe sie am Ende des Programms
ODER
- öffne ich sie für jede Fall einzeln und schließe sie sofort wieder ?



ich könnte jetzt noch ein Beispiel anhängen wo es beschrieben wird aber ich denke
wer DB toolkit kennt weis was ich meine.
Ich habe schon einen ähnlichen Thread gelesen, da wurde beschrieben jede Verbindung
benützt einen Port und wenn die aus sind gibts natürlich stress.....

Die Ports denk ich mal is ne Einstellungssache der DB, aber werden die Ports nicht wieder
freigegeben nachdem sie ordenlich geschlossen wurden?

für eine Antwort wäre ich sehr dankbar.

der LVT_hiwi


RE: mySQL viele connections und schlißene oder eine aufsplitten? - jg - 12.01.2015 14:18

Erstelle eine Verbindungs-Referenz und verwende diese wieder!
Wenn du auf Nummer sicher gehen willst, dann erstellst du dir noch eine Routine, die bei DB-Fehlern die Verbindung schließt und wieder neu öffnet.

Übrigens sind die VIs des NI Database Connectivity Toolkits nicht reentrant, also selbst wenn du das ganze parallel programmierst, sobald dasselbe VI an mehreren Stellen im Code auftaucht, wird trotzdem immer nur 1 Instanz ausgeführt.

Das kann zu unschönen Nebeneffekten führen. Braucht z.B. ein Schreibkommando sehr lange, so sind andere parallel programmierte Schreibkommandos bis zur Beendigung des "langsamen" Schreibkommandos blockiert. Da sucht man sich dann einen Wolf ab, wieso irgendwas nicht geht....

Gruß, Jens


RE: mySQL viele connections und schlißene oder eine aufsplitten? - LVT_Hiwi - 18.02.2015 10:56

das Thema lag gerade ein paar Wochen trotzdem Danke jg für die schnelle Antwort du hast mir glaub ich
gut weiter geholfen. ; )