Neueinsteiger Zeos Mysql

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
mori
Beiträge: 53
Registriert: Di 24. Okt 2006, 08:31
OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
CPU-Target: xxBit
Wohnort: Mixdorf
Kontaktdaten:

Re: Neueinsteiger Zeos Mysql

Beitrag von mori »

EgonHugeist hat geschrieben:Kann so nix weiter erkennen. Hast to Columns im Grid angelegt? Um Größen zu ändern oder so? -> .lfm

Kenn mich jetzt weniger mit dem Verhalten von LCL aus, aber was passiert, wenn du das Grid nicht verbirgst und wieder sichtbar machst? Warum überhaupt?
Ich habe nichts extra angelegt! Es ist ja nur die erste Test-App zum Anfreunden mit MySQL und zeos!
Das Verbergen vom Grid ist nur kosmetisch! Leeres Grid beim Start mit 1x1 sieht besch. aus!

Ich habe auch kein Problem mit dem lfm.
Das kommt allerdings per PM. (Zugangsdaten usw. sind ungueltig!)
Da das ganze Ding so simpel ist, verstehe ich das Problem nicht!
Es ist bestimmt eine ganz banale Sache, ueber die ich stolpere. Leider kann ich hier lokal nichts nachvollziehen.
An den Server komme ich erst am Montag wieder. (450km entfernt -> TeamViewer)

MfG Th. Moritz

EgonHugeist
Beiträge: 93
Registriert: Di 17. Apr 2012, 22:41

Re: Neueinsteiger Zeos Mysql

Beitrag von EgonHugeist »

Re: Neueinsteiger Zeos Mysql

Gesendet: 20. Apr 2012, 23:45
Von: EgonHugeist
An: mori
Nö absolut nix. :evil:

Nimm das DBGrid.Visible := True/False; mal raus.

Nächste Sache: Nimm für solche Sortieraktionen WENN du solche Mengen in Bewegung hast die TZQuery-Kompo. Die ist gecached. Eventuel ist bei complexen langen StringFelder jedoch die DB schneller, falls du die Felder indiziert hast. Schon mal selber ein BubbleSort geschrieben oder sowas? Stells dir so vor: Zeos mag da schnell sein, stößt allerdings an deine Rechnergrenzen desto koplexer der Sortiervorgang wird. Deine DB indiziert alles bei jedem Update. Da liegt sie klar im Vorteil bei gigantischen Mengen, die Zeos aufgrund unwissenheit über Index-Strukturierungen der Strings nicht mithalten werden kann.

Is zum Mäuse melken. keine Verknüpfungen nix! kann mir nur was mit dem Grid vorstellen:

Phantasie-Szenario:
Das Grid baut die Columns trotzdem auf. Muß es ja, um dir die Spalten zu zeigen.
DBGrid.Clear? -> DBGrid.Columns.Clear;!
Ich könnte mir vorstellen, das es deaktiviert wird, wenn es invisible ist. Keine Ahnung von LCL hier.
Nun änderst du die Abfrage.
DBGrid.Visible := True; Nachdem das DataSet aktiv ist... Felder???

Du wenn das nicht hilft.... PASSE

Du und das hat echt nix mit Zeos zu tun. Gleiche Vorraussetzungen mit der LCL-DB Komponente -> gleiches Resultat
ZeosDevTeam

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Neueinsteiger Zeos Mysql

Beitrag von MmVisual »

Normalerweise wird nichts verborgen und sichtbar gemacht. Dafür gibt es
Dataset.DisableControls .... .EnableControls
TZQuery.DisableControls ....

Dies kann sogar rekursiv aufgerufen werden und "friert" die Controls ein.

Dennoch, schaue nach welche Felder Du wo hin verknüpft hast.
EleLa - Elektronik Lagerverwaltung - www.elela.de

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Neueinsteiger Zeos Mysql

Beitrag von hde »

@EgonHugeist,
unabhänging von der lfd. Diskussion hier:
Mac OS X 10.6.8 - 64bit
Lazarus 1.1 - 64bit
Zeos dein testbranch 1164
mySQL 5.1.xy - 64bit
trotz harter codierung in ZPlainMySqlDriver.pas wird die .dylib nur gefunden, wenn man eine aus einer 32bit-Installation nimmt.
(das war bei Zeos 6.6.6 auch so)
Gruß
hde

EgonHugeist
Beiträge: 93
Registriert: Di 17. Apr 2012, 22:41

Re: Neueinsteiger Zeos Mysql

Beitrag von EgonHugeist »

Wie ich beschrieben habe: Nur wenig LCL Erfahrung, da ich zwar mit wachsender Begeisterung die Änderungen des FPC und die Arbeit von Marcov und seiner Crew betrachte, jedoch einfach mit dem Debugverhalten nicht klarkommene. Um Strukturen wie Zeos über all seine Tiefen erfassen zu können muß ich jedes mal mit 'nem Delphi Debugger ran, um Fehler lokalisieren zu können, welche ich vorher nicht einsehen zu kann. Oder ich stelle mich da nur verflixt dumm an. Statistisch gesehen fällt mir ähnliches im Zeos-Forum auf. Wir haben dort eine, wie ihr euch vorstellen könnt, große Anhängerschaft der FPC'ler. Viele sind wirklich bemüht zu helfen, wo es geht. Aber denen scheint es wie mir zu gehen. Stundenlanges Gesuche (bei AccessViolation z.B.) ohne verwertbare Resultate. Irgendwelche Tips? Kann doch echt net sein, das uns wirklich dauernd nur die Delphi oder CBuilder User ruckzuck die Zeilen aufzeigen, wo gearbeitet werden muss oder meistens schon Lösungen parat haben. Gerade die, die nicht mit all den Plattformen arbeiten. Ich mag Lazarus und den FPC ist einfach ein grandioses Werk, welches den kommerziellen Produkten richtig schön auf die Pelle rückt. Hehe! Für Anwendungen eine tolles Arbeiten hier. Aber bei 'nem Project wie ZeosLib muß ich da passen. Also was mach ich verkehrt? Kann ich da irgendwas anders machen und im Zeos-Forum als Tip angeben?

@MMVisual
Daher schreib ich ja Phantasie-Szenarion. Dennoch hat das DisableControls doch nichts mit dem kappen von Dataset-Verbindungen selber zu tun, oder? Die Option sag doch schon klar, was ihre Aufgabe ist. Sein Quellcode ist derzeit noch total flexibel, in der lfm sind auch keine direkten Verknüpfungen zu finden. Von daher bleib mir nur zu "Raten", die Grid-Columns selber weg zu räumen. Wenn ihr weiter Vorschläge habt...

@hde
hde hat geschrieben:trotz harter codierung in ZPlainMySqlDriver.pas wird die .dylib nur gefunden, wenn man eine aus einer 32bit-Installation nimmt.
(das war bei Zeos 6.6.6 auch so)
.dylib was ist das? Steh hier grad auf dem Schlauch. Meinst du die Dynlibs unit vom FPC? Kann sowas sonst nirges finden. Detalierte Berichte sind da toll.
P.s. Rev 1182

Bitte nutze den Weg über's ZeosForum. Ich bin aufgrund von sagen wir mal, kleinerer Überlastung, nicht willens überall zu schauen, was denn schief geht. Kritisiert ist sehr schnell und kein Problem wenn's gerechtfertigt ist. Hilfe oder Resultate sind daher immer herzlich willkommen, da auch Zeos eine OpenSource comunity darstellt und bis heute keiner der Zeos-Member einen Cent für seine Arbeit am Project gesehen hat. Wenn der im Zeos verwendete Weg über das Englische Probleme darstellt, schreibt mir eine private Mail übers Forum. Noch viel besser wären gleich Lösungen :wink:

Michael
ZeosDevTeam

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Neueinsteiger Zeos Mysql

Beitrag von hde »

@EgonHugeist,
sorry, es muss natürlich dynlib heißen, und ich sehe das auch nicht als Problem an, sondern melde es hier nur als Info und Tipp:
(und deshalb auch hier und nicht bei Zeos)
Unter Mac OS X Snow Leopard auch wenn alles mit 64bit läuft, einschl. Lazarus und fpc, trotzdem von mySQL die 32bit-Version der Libmysqlclient.dynlib nehmen und entsprechend linken oder die Zeos-Quelle ändern.
Also, kein echtes Problem, es läuft ja (offenbar), man muss es nur wissen.
Gruß und Dank ans Zeos-Team
hde

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Neueinsteiger Zeos Mysql

Beitrag von marcov »

hde hat geschrieben:@EgonHugeist,
sorry, es muss natürlich dynlib heißen, und ich sehe das auch nicht als Problem an, sondern melde es hier nur als Info und Tipp:
(und deshalb auch hier und nicht bei Zeos)
Unter Mac OS X Snow Leopard auch wenn alles mit 64bit läuft, einschl. Lazarus und fpc, trotzdem von mySQL die 32bit-Version der Libmysqlclient.dynlib nehmen und entsprechend linken oder die Zeos-Quelle ändern.
Also, kein echtes Problem, es läuft ja (offenbar), man muss es nur wissen.
Gruß und Dank ans Zeos-Team
FPC unit Dynlibs exportiert ein Konstanten namens "SharedSuffix" die die Library extension pro OS enthält. (dll/so/dynlib)

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: Neueinsteiger Zeos Mysql

Beitrag von MmVisual »

@hde:

EgonHugeist hat seit heute in die TZConnection einen zusätzlichen Parameter "LibraryLocation" eingebaut. Damit kannst Du direkt angeben wie die DLL (bei MacOS dynlib) heißt und an welchem Pfad die liegt. (Siehe SVN 1185 vom branch "testing-egonhugeist".)
Damit sollte das Öffnen der DLL / Dynlib dann auch mit Zeos gehen.

Mache einen kleinen Test:

Code: Alles auswählen

Var h: THandle;
 
h := LoadLibrary('DeineDll.dll');
If (h=0) Or (h=INVALIT_HANDLE_VALUE) Then
  ShowMessage('DLL gibt es nicht')
Else CloseHandle(h);
Mit LoadLibrary() kannst Du selbst in Deinem Projekt nach der DLL suchen, wenn gefunden dann in TZConnection.LibraryLocation eintragen. Dieses Suchen kannst Du sogar beim TZConnection.BeforeConnect event ausführen und ist somit automatisiert.

Wenn das mit dem MacOS nicht gehen sollte, dann mache besser einen eigenen Thread auf.
EleLa - Elektronik Lagerverwaltung - www.elela.de

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Neueinsteiger Zeos Mysql

Beitrag von hde »

@MmVisual,
Lazarus und Zeos unter OS X:
KEIN Problem, man muss nur als Workaround beachten:

Alles kann 64bit sein, aber von mySQL braucht man die 32bit libmysqlclient.dylib.
Damit kann man unter OS X gut leben, man muss es nur wissen und beachten.

(Es geht nicht um Ort oder Namen der Lib)

hde

mori
Beiträge: 53
Registriert: Di 24. Okt 2006, 08:31
OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
CPU-Target: xxBit
Wohnort: Mixdorf
Kontaktdaten:

Re: Neueinsteiger Zeos Mysql

Beitrag von mori »

EgonHugeist hat geschrieben:Wie ich beschrieben habe: Nur wenig LCL Erfahrung, da ich zwar mit wachsender Begeisterung die Änderungen des FPC und die Arbeit von Marcov und seiner Crew betrachte, jedoch einfach mit dem Debugverhalten nicht klarkommene. Um Strukturen wie Zeos über all seine Tiefen erfassen zu können muß ich jedes mal mit 'nem Delphi Debugger ran, um Fehler lokalisieren zu können, welche ich vorher nicht einsehen zu kann. Oder ich stelle mich da nur verflixt dumm an. Statistisch gesehen fällt mir ähnliches im Zeos-Forum auf. Wir haben dort eine, wie ihr euch vorstellen könnt, große Anhängerschaft der FPC'ler. Viele sind wirklich bemüht zu helfen, wo es geht. Aber denen scheint es wie mir zu gehen. Stundenlanges Gesuche (bei AccessViolation z.B.) ohne verwertbare Resultate. Irgendwelche Tips? Kann doch echt net sein, das uns wirklich dauernd nur die Delphi oder CBuilder User ruckzuck die Zeilen aufzeigen, wo gearbeitet werden muss oder meistens schon Lösungen parat haben. Gerade die, die nicht mit all den Plattformen arbeiten. Ich mag Lazarus und den FPC ist einfach ein grandioses Werk, welches den kommerziellen Produkten richtig schön auf die Pelle rückt. Hehe! Für Anwendungen eine tolles Arbeiten hier. Aber bei 'nem Project wie ZeosLib muß ich da passen. Also was mach ich verkehrt? Kann ich da irgendwas anders machen und im Zeos-Forum als Tip angeben?

@MMVisual
Daher schreib ich ja Phantasie-Szenarion. Dennoch hat das DisableControls doch nichts mit dem kappen von Dataset-Verbindungen selber zu tun, oder? Die Option sag doch schon klar, was ihre Aufgabe ist. Sein Quellcode ist derzeit noch total flexibel, in der lfm sind auch keine direkten Verknüpfungen zu finden. Von daher bleib mir nur zu "Raten", die Grid-Columns selber weg zu räumen. Wenn ihr weiter Vorschläge habt...

Michael
Sorry, es hat eine Weile gedauert. Ich musste mir inzwischen wieder deutschlands Autobahnen anschauen...

Damit komme ich nun bis zu einer Abfrage von ca. 20000 Row's ohne Probleme:

ZReadOnlyQuery1.Close;
ZReadOnlyQuery1.SortedFields := '';
DBGrid1.Clear;
//naechste Abfrage

Bei einem Test mit 82000 Antworten kam jedoch von der App wieder nur <Keine Rueckantwort>
Das DBGrid wurde gefuellt, meine MessageBox zeigte den Empfang von 82000 Eintraegen und dann passierte nichts mehr.
Die App konnte ich jedoch mit 'Close' schliessen, war also nicht voellig fest...
Leider konnte ich bisher noch keinen anderen Rechner auf der Gegenseite zum Test benutzen.
Bin also weiterhin ratlos.

Ich wuensche ein Schoenes Wochenende und einen angenehmen Feiertag.

MfG Th. Moritz

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Neueinsteiger Zeos Mysql

Beitrag von Christian »

Mssql funktioniert mit trunk aber nicht mit der hier vorgeschlagenen version
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten