Status komunikacji z bazą danych

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
DaFFyBZ
Posty: 3
Rejestracja: 31 maja 2011 08:33
Wersja środowiska: LabVIEW 2010

Status komunikacji z bazą danych

Post autor: DaFFyBZ »

Witam.
Czy ktoś z doświadczonych użytkowników LabView wie jak "sprawdzać status komunikacji z bazą danych MySQL" w sposób jak najmniej obciążający procesor (system, bazę itd.) ?
Z góry dziękuję za wszelkie informacje i odpowiedzi.
oczekp
Posty: 161
Rejestracja: 22 lis 2009 15:12
Wersja środowiska: LabVIEW 2010

Re: Status komunikacji z bazą danych

Post autor: oczekp »

Hej,
możesz skorzystać z darmowej biblioteki LabSQL: http://jeffreytravis.com/lost/labsql.html
albo z toolkitu NI: http://digital.ni.com/public.nsf/allkb/ ... 0A006139D6
albo z tcp/ip: https://decibel.ni.com/content/docs/DOC-10453
Co do tego ostatniego autora cytując:
For queries with no or small sets of returned data, expect 10-20% improvement in processing time over the LabVIEW Database Connectivity Toolkit since this example does not have the additional overhead of sending data through ODBC. However - large returned datasets will take significantly longer (10x+) than the LabVIEW Database Connectivity Toolkit. Memory is not preallocated for returned datasets and dynamically building large string arrays causes significant time with memory allocation. I have not had time to look into this and provide a good method - if anyone has good ideas or a solution your feedback is welcome.
Natomiast szczerze powiedziawszy nie sprawdzałem szybkości działania oraz obciążenia procesora dla dwóch pierwszych. Może ktoś na forum to robił?
DaFFyBZ
Posty: 3
Rejestracja: 31 maja 2011 08:33
Wersja środowiska: LabVIEW 2010

Re: Status komunikacji z bazą danych

Post autor: DaFFyBZ »

Może źle zrozumiałem zawartość linków podesłanych przez kolegę @oczekp lub źle się wyraziłem, ale mój problem polega na tym, że otwieram połączenie z bazą w MySQL, wpisuję do niej, ale nie zamykam połączenia. Dane wpisywane są w dużej ilości i bardzo często, więc uznałem za bezsensowne otwieranie/zamykanie połączenia. Dodatkowo potrzebuję w aplikacji kontrolkę ze stanem połączenia (jest/brak) i szukam rozwiązania szybkiego, skutecznego i mało obciążającego.
edit: w tej chwili wysyłam zapytanie o max(id) i sprawdzam error out, ale to rozwiązanie moim zdaniem jest nieoptymalne
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Status komunikacji z bazą danych

Post autor: PiDi »

Skoro często dokonujesz wpisu, czy generalnie komunikacji z tą bazą, to po co chcesz dodatkowo sprawdzać, czy jest z nią połączenie? Jeśli nie będziesz miał połączenia, to każda próba komunikacji z bazą danych skończy się odpowiednim błędem i to Ci pokaże, że połączenie padło.
ObrazekObrazekObrazekObrazek
walaszek
Posty: 3
Rejestracja: 16 lut 2009 07:08
Kontakt:

Re: Status komunikacji z bazą danych

Post autor: walaszek »

Domyślam się, że koledze chodzi o to iż dane zapisywane są do bazy danych MySQL często na jakimś serwerze a na innym komputerze jest odczyt potrzebnych danych z bazy już nie tak często i potrzebna jest ciągła informacja o stanie połączenia z zewnętrzną baza danych MySQL - czy tak?
DaFFyBZ
Posty: 3
Rejestracja: 31 maja 2011 08:33
Wersja środowiska: LabVIEW 2010

Re: Status komunikacji z bazą danych

Post autor: DaFFyBZ »

Dokładnie tak jak to napisał kolega powyżej. Przepraszam za niepełne informacje.
ODPOWIEDZ