ZEOSlib und MySQL

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

ZEOSlib und MySQL

Beitrag von TT73GP7 »

Hallo zusammen,

ich habe früher unter Delphi 7 immer mit ZEOSlib mich direkt auf eine MySQL Datenbank verbunden
nun nutze ich extrem viel Lazarus, ZEOSlib und SQLite

geht auch alles wie gewohnt
nun will ich das ganze Projekt auf eine MySQL Datenbank umstellen.

nun meckert er rum das er die Location für die MySQLlibd nicht findet.
die Frage ist wo bekomme ich die lib.dll Datei her und welche nutze ich am besten?

wird vielleicht eine schon mitgeliefert und wo finde ich sie?

Viele Grüße

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: ZEOSlib und MySQL

Beitrag von TT73GP7 »

hmm

also irgendwas ist da ganz in argen
in dem Wiki steht nix von einer .dll Datei die man bei einer mysql Verbindung angeben soll
egal was ich mache und welche Datei ich da einbinde meckert er

warum kann sowas nicht in einen ordner immer parat liegen?

ich könnte grade echt heulen

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: ZEOSlib und MySQL

Beitrag von TT73GP7 »

hach und es geht weiter

wenn ich in heidiSQL die Version von dem mysql Server abfrage sagt er mir ich hätte Maria-DB 10.1.13 ?

ich wusste garnicht das xampp mit Maria db ausgeliefert wird?
also muss ich irgendwie erstmal ein MYSQL Server installieren?

vielleicht liegt da das Problem?

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: ZEOSlib und MySQL

Beitrag von Michl »

Ist schon eine Weile her, daß ich MySQL auf dem Rechner hatte. In einem alten Testprojekt hatte ich die libmysql.dll in mein Projektordner gelegt und den LibraryLocation auf das eigene Verzeichnis verwiesen. Man muss natürlich erst den MySQL Client installieren, der die dll mitbringt (32/64bittigkeit beachten).
Ich nutze jetzt neben SQLite viel PostgreSQL. Dort habe ich die DLL nicht mehr den Projekten beigelegt und suche die dll beim Programmstart und verwende deren Pfad.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: ZEOSlib und MySQL

Beitrag von TT73GP7 »

ich hatte damals keinen Client installiert

aber ist echt heftig wie schnell das wissen vergessen wird wenn man es mal 5 Jahre nicht mehr nutzt :(

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: ZEOSlib und MySQL

Beitrag von TT73GP7 »

yeay

ein tag dahin :(
aber es läuft

ich habe nicht die Installation von xampp genommen sondern MySQL direkt runtergeladen
da war auch eine *.dll dabei

die eingebunden
keinen Client installiert

und fertig es läuft ;)

charlytango
Beiträge: 1095
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: ZEOSlib und MySQL

Beitrag von charlytango »

.... my 3 cents

bin vermutlich etwas zu spät, aber vielleicht hilft es dem Nächsten

Unter https://github.com/flakron-shkodra/LazSqlX findet ihr LazSQLX, ein in Lazarus geschiebenes Adminprogramm für die unterschiedlichsten Datenbanken.
Im Verzeichnis /Windows_Libs sind dort alle DLLs zu finden die man braucht um mit den unterstützen Datenbanken Verbindung aufzunehmen (in diesem Fall nur für die M$ Plattform).
Und das sind dann schon etliche.

Ich versuche meine Programme weitgehend portabel zu gestalten, daher gibts auch ein eigenes Verzeichnjis für die dll's und daher benutze ich auch

Code: Alles auswählen

ZConnection.LibraryLocation := <Pfad zu den DDLs>
damit die DLLs auch sicher gefunden werden.

Cuci
Beiträge: 52
Registriert: Do 10. Dez 2015, 20:09
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
CPU-Target: 64 bit
Wohnort: Wo es warm ist

Re: ZEOSlib und MySQL

Beitrag von Cuci »

Linux Mint 17.2 Cinnamon-64 bit - Lazarus 1.6.2 - FPC 3.0.0 - ZeosLib 7.2.1 - MySQL 5.5.53

Hallo, dieses Thema kommt gerade passend. Ich habe jetzt herausgefunden, dass Lazarus die libmysqld.so.18 nicht findet. Ich wollte in der ZConnection die LibraryLocation angeben, finde aber auf dem ganzen Rechner nichts dergleichen.
Woher kriege ich die Datei?

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: ZEOSlib und MySQL

Beitrag von Jole »

Starte mal die Synaptic-Packetverwaltung und gib im Suchfeld "libmysqld" ein, da müsste dann libmysqld-dev auftauchen.

Cuci
Beiträge: 52
Registriert: Do 10. Dez 2015, 20:09
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
CPU-Target: 64 bit
Wohnort: Wo es warm ist

Re: ZEOSlib und MySQL

Beitrag von Cuci »

Ich habe die libmysqld-dev installiert. Aber die von Zeos verlangte Datei libmysqld.so.18 ist nicht dabei.

Eb
Lazarusforum e. V.
Beiträge: 242
Registriert: Di 5. Feb 2008, 15:32
OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
CPU-Target: 64Bit
Wohnort: Stuttgart

Re: ZEOSlib und MySQL

Beitrag von Eb »

Probiere doch bitte mal das aus, was ich dir auf dein anderes Posting geantwortet habe:
http://www.lazarusforum.de/viewtopic.php?p=88831#p88831

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: ZEOSlib und MySQL

Beitrag von Jole »

Cuci hat geschrieben:Ich habe die libmysqld-dev installiert. Aber die von Zeos verlangte Datei libmysqld.so.18 ist nicht dabei.
Es könnte sein das die lib eine höhere Nummer hat als18. Öffne mal caja oder nemo, gehe ins Verzeichnis /usr, dann klick auf suchen und gib dann "libmysqld" ein. Vermutlich wird im Verzeichnis /usr/lib/x86_64-linux-gnu was gefunden. Falls der libname eine höhere Nummer besitzt als 18, ich vermute 20, dann erzeuge einen symbolischen Link so wie es Sb in senem Link beschrieben hat.

Cuci
Beiträge: 52
Registriert: Do 10. Dez 2015, 20:09
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
CPU-Target: 64 bit
Wohnort: Wo es warm ist

Re: ZEOSlib und MySQL

Beitrag von Cuci »

Hallo Leute, ich bin dankbar, dass ihr mir helfen wollt. Ich muss dazu 2 Dinge feststellen:

- ich benötige nicht die Datei libmysqlclient.so ..., die habe ich auf dem Rechner
- ich benötige nur die Datei libmysqld.so.18.0.0.0 oder vielleicht auch libmysqld.so ohne Zusatz

Seid gewiss, dass ich sie schon mehrfach auf meinem Rechner gesucht habe (Suche nach libnysqld.so.), auch in den Archiven. Außerdem habe ich stundenlag im Internet gesucht, Es ist wie verhext. Das Ding ist nirgends aufzutreiben. Was allerdings sicher ist: Es gehört zur Software für den MySQL-Server. Vielleicht hat sie ja einer von Euch auf dem Rechner?

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: ZEOSlib und MySQL

Beitrag von Jole »

Seid gewiss, dass ich sie schon mehrfach auf meinem Rechner gesucht habe (Suche nach libnysqld.so.), auch in den Archiven.
Ich habe nicht geschrieben das du nach "libmysqld".so suchen sollst, sondern nach "libmysqld" ohne irgendwelche Zusätze. Für Linux Mint cinnamon scheint es keine "so" Datei zu geben sondern nur eine Datei Namens libmysqld.a. Wenn du unbedingt eine "so" Datei suchst, findest du hier rpm Pakete. Kannst ja mal Fedora ausprobieren. Ich würde aber mal probieren ob es ein Symbolischer Link auf libmysqld.a auch tut.

Cuci
Beiträge: 52
Registriert: Do 10. Dez 2015, 20:09
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
CPU-Target: 64 bit
Wohnort: Wo es warm ist

Re: ZEOSlib und MySQL

Beitrag von Cuci »

. . . welch ein Zufall, wollte gerade schreiben, dass sich eine libmysqld.a in dem ZielVerzeichnis /usr/lib/x86_64-linux-gnu/ befindet.

Ich habe noch etwas recherchiert und gefunden, dass

Protocol mymsql-5 die library libmysqlclient.18.0.0 benötigt,
Protocol mymsqld-5 die library libmysqld

wobei mysqld-5 für den EmbeddedServer von MySQL steht. Mir ist das allerdings egal, Hauptsache es funzt.

Beide Dateien befinden sich in der ZielDirektory (LibraryLocation). Jetzt habe ich Versuche mit beiden Protokollen gemacht - aber es funktioniert nicht.

Fall 1: LibraryLocation ist ohne Angabe
ZConnection lässt sich auf connected = true schalten. Dieser Zustand bleibt auch nach Schließen von Lazarus und erneutem Öffnen erhalten.
Jetzt versuche ich eine ZQuery activ zu schalten. Es passiert nichts, auch das Kästchen für das Kreuz bleibt leer und nach etwa 10 Sekunden verabschiedet sich Lazarus komplett ohne Abschiedsgrüße.

Fall 2: LibraryLocation ist gesetzt auf /usr/lib/x86_64-linux-gnu/
ZConnection lässt sich nicht auf 'true' schalten. Dafür kommt die Fehlermeldung: Client-Library /usr/lib/x86_64-linux-gnu/ found but could not be loaded. Check compile-target and library compatibility!
Also kann er doch wohl mit den dortigen libraries nichts anfangen?!

Was soll ich da noch machen? Er verlangt auch nicht mehr nach einer speziellen Library wie vorher!

Antworten