AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MyDac Erfahrung

Ein Thema von Edelfix · begonnen am 31. Mär 2025 · letzter Beitrag vom 1. Apr 2025
Antwort Antwort
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
228 Beiträge
 
Delphi 10.4 Sydney
 
#1

MyDac Erfahrung

  Alt 31. Mär 2025, 10:28
Datenbank: MariaDB • Version: 10.5.11 • Zugriff über: MyDac
Hallo,

hat jemand die MyDac Komponente im Einsatz?
Die Komponente setze ich aktuell zum ersten mal ein aber es kommt in unterschiedlichsten Situationen zu der gleichen Fehlermeldung:

"Lost connection to MySQL server during query".

Die Fehlermeldung scheint beliebig oft in unterschiedlichsten Situationen zu feuern.
Zum Beispiel:
Bei "Locate" mit einer TMYTable oder TMYQuery. Aber nicht jedes mal. Ein Haltepunkt hilft nicht da die Fehlermeldung nicht jedes mal kommt.

Oder bei "Close" mit TMYTable oder TMYQuery.
Oder bei "Disconnect" mit der TMYConnection. Eigentlich jedes mal.

Die Datenbank liegt auf unserem Server im Büro. Also Intranet.
Devart meinte dazu das ich die Stellen mit try except einklammern soll und auf den Fehlertype: EMySqlException einfach nicht reagieren soll.
Das klingt für mich nicht ausgereift.

Hat jemand ähnliche Erfahrungen?
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
668 Beiträge
 
Delphi 12 Athens
 
#2

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 10:41
Wir nutzen nicht MyDAC, sondern UniDAC, aber ich würde mal vermuten, dass dort "unter der Haube" im Falle einer Anbindung an MySQL/MariaDB ziemlich viel ähnliches passiert. Den "MySQL"-Teil von UniDAC nutzen wir seit gut fünf Jahren für eine interne Anwendung und das läuft bisher völlig stabil und zuverlässig. Exceptions der von dir beschriebenen Art habe ich so im Alltag nicht.

Insofern kann ich dir bei deinem konkreten Problem leider nicht helfen, aber die Rückmeldung geben, dass ich nicht den Eindruck habe, dass das unausgereift ist.
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
275 Beiträge
 
Delphi 12 Athens
 
#3

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 13:16
Ich nutze aus Lizenzgründen nicht MySQL sondern MariaDB(10.9.4) und damit läuft
MyDac völlig ohne Probleme.

Domänen-Client mit Windows 10 und Zugriff auf Windows Server(PDC).
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.221 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 14:08
Welchen Verbindungstyp nutzt du?
Native ohne irgendwelche libmysql.dll's?

Und nutzt du "serverseitige Curser"?
Das dürfte MariaDB wie MySQL nicht können und wir das mit einem "Trick" simuliert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
228 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 15:15
Das Problem sind nach wie vor die großen Datenmengen. Die Table Komponente kommt damit nicht zu recht.
Mit "FetchAll" true dauert der Open Befehl viel zu lange und mit "FatechAll" false kommen die genannten Fehlermeldungen.

Jetzt kann der Hinweis das man mit SQL Arbeiten soll und LIMIT verwenden.

Jetzt habe ich aber festgestellt das der Befehl "Locate" nur in der im Client befindlichen Menge sucht.
Wenn ich "LIMIT 100" einstelle dann findet "Locate" nur etwas in den 100. Wenn der Datensatz gerade nicht dabei ist dann wird auch nichts gefunden.
Die Daten haben Lücken und unterschiedliche Nummernkreise. Sie sind nicht einfach fortlaufend.

Der Vorschlag von ChatGPT ist eine drei Stufen Lösung.
1. Mit einer separaten Query nach dem Datensatz suchen.
2. Weitere 100 holen mit dem "Offset" auf die gefundene ID damit im DBGrid nicht nur der gefundene Datensatz erscheint.
3. Jetzt mit "Locate" auf den gesuchten Datensatz im Grid positionieren.

Das kommt mir aber sehr umständlich vor. Das müsste auch anders gehen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.221 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 15:26
Das kommt mir aber sehr umständlich vor. Das müsste auch anders gehen.
Nö. Du kannst nicht alles haben.
Und wenn du eine DBMS nutzt, da z.B. keine Serverseitigen Curser hat (mit den Nachteilen, wenn man diese Nutzt), dann musst du halt "drumherum" arbeiten.

Aber auch wenn man diese hat. Wer schaut sich schon am Client Mio. Datensätze in einem Grid an.

Selbst haben wir ein 2stufige Logik um Grid mit "mehr als 5 Einträgen" hin zu bekommen
1, Hole alle Primärschlüssel
2, Beim Anzeigen im Grid hole Rest für diesen Datensatz

Zusätzlich gibt es ein Limit wie viele Primärschlüssel geholt werden dürfen/sollen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fred.ahrens

Registriert seit: 11. Aug 2007
Ort: Ketzin/Havel
49 Beiträge
 
Delphi 12 Athens
 
#7

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 15:30
Das Problem sind nach wie vor die großen Datenmengen. Die Table Komponente kommt damit nicht zu recht.
Mit "FetchAll" true dauert der Open Befehl viel zu lange und mit "FatechAll" false kommen die genannten Fehlermeldungen.
[...]
Das kommt mir aber sehr umständlich vor. Das müsste auch anders gehen.
Das Suchen musst du dem Server überlassen - genau dafür ist er da und optimiert. Sobald du anfängst große Datenmengen vom Server zu holen und dann erst auszuwerten, baust du dir solche Probleme ins Projekt ein.

Wir haben genau die selbe Situation hier gehabt und haben dann schweren Herzens auf Queries umgestellt, die nach Möglichkeit alle Auswertungen auf dem Server ausführen. Am Ende hat es sich aber gelohnt. Der Serverzugriff ist extrem beschleunigt und Probleme durch zu große Ergebnissätze gibt's auch nicht mehr.
Fred Ahrens (ZeeBORN GmbH)
  Mit Zitat antworten Zitat
fred.ahrens

Registriert seit: 11. Aug 2007
Ort: Ketzin/Havel
49 Beiträge
 
Delphi 12 Athens
 
#8

AW: MyDac Erfahrung

  Alt 31. Mär 2025, 15:21
Hallo,

... "Lost connection to MySQL server during query". ...

Hat jemand ähnliche Erfahrungen?
Das kann leider viele Ursachen haben. Oft kann man dazu aber auf dem Server im Log gute Hinweise zur Ursache bekommen.

Wir hatten das oft im Zusammenhang mit Tabellen, in denen wir BLOBs verwendet haben. Da ist schnell mal der Speicher voll, wenn man in der Konfiguration nicht die Blockgrößen angepasst hat. Ähnlich bei Tabellen mit prall gefüllten Memofeldern.
Ab und zu hatten wir das auch, wenn Serverversion und Version der Client-DLL nicht gut zueinander passten.
Fred Ahrens (ZeeBORN GmbH)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz