Lazarus und Maria DB

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Benutzeravatar
theo
Beiträge: 10920
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazarus und Maria DB

Beitrag von theo »

MmVisual hat geschrieben: Sa 11. Jan 2025, 13:53 Ich habe das vor einigen Jahren mal probiert und bin da böße aufewacht, seither nicht mehr probiert.
Alleine schon die Existenz des Parameters "SkipLibraryVersionCheck" zeigt die Sinnlosigkeit.

Zeos V8 hingegen ist ein völlig neuen Weg gegenüber V7 gegenagen, es brauch nun nicht mehr die Version mit angegeben zu werden, die machen das nun ganz einfach automatisch (richtig). :D
Ist ja schön, wenn es funktioniert, aber bei mir funktioniert es mit TMySQL80Connection auch.
Ich habe den Code nicht angeschaut, aber ich kann mir vorstellen, dass da mit SkipLibraryVersionCheck genau das Gleiche gemacht wird.
Die pfeifen einfach auf den Versionscheck und bedienen den stabilen Teil des Interface.
Aber das ist nur meine Vermutung. Mein Name ist Hase... :wink:

Benutzeravatar
juelin
Beiträge: 296
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: Lazarus und Maria DB

Beitrag von juelin »

ich hatte ja gedacht es sei selbstverständlich, aber
hier nich der Hinweis, das der User den man in ZConnect benutzt auch in der Datenbank
in der Tabelle user vorhanden sein muss.
Gruß
Jürgen

braunbär
Beiträge: 463
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
CPU-Target: 64Bit
Wohnort: Wien

Re: Lazarus und Maria DB

Beitrag von braunbär »

Es kursieren eine Vielzahl von Versionen der libmysql.ddl im Internet. Jetzt habe ich eine gefunden, die sich mit meiner MariaDB verträgt und die Verbindung funktioniert - fürs erste einmal zumindest mit einem User ohne Password. Seltsam ist, dass diese DDL-Version den Datumsstempel 4.3.2018 hat, also wirklich uralt ist - Meine MariaDB 10.6, anscheinend die letzte Version, hat den Datumsstempel 23.4.2021 - also auch nicht mehr ganz taufrisch, aber doch deutlich jünger. Gibt es von diesen Programmen denn wirklich keine neueren Versionen? Haltet ihr MariaDB (mein Kunde bildet sich die ein) für halbwegs zukunftssicher?

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

Re: Lazarus und Maria DB

Beitrag von MmVisual »

MariaDB ist definitiv Zukunftssicher. Und sollte es MariaDB nicht mehr als neuere Version geben, so hat man den jetzigen Stand ja immer noch, der auch die nächstem 10 Jahre in jedem Fall funktioniert.
Als Backup-Strategie kann man alternativ immer noch MySQL als Kaufversion verwenden. Deren SQL Syntax ist 1:1 identisch. Von daher fährt man mit MariaDB automatisch zweigleisig da man jederzeit zu MySQL wechseln könnte.

Es kommt auf die Komplexität der SQL Befehle an, wenn man ZEOS nimmt, so kann mit einer einfachen Umkonfiguration von TZConnection sehr einfach zu z.B. PostgreSQL wechseln. Da das mit Zeos so einfach ist unterstützt meine EXE automatisch sogar 5 SQL Varianten.
Wenn du ähnlich programmierst, so erübrigt sich die Frage automatisch ob MariaDB zukunftssicher ist - weil man kann jederzeit wechseln.
EleLa - Elektronik Lagerverwaltung - www.elela.de

braunbär
Beiträge: 463
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
CPU-Target: 64Bit
Wohnort: Wien

Re: Lazarus und Maria DB

Beitrag von braunbär »

Ok, das leuchtet mir ein.

Wobei es mir nicht sehr vertrauenerweckend scheint, wenn es bei so einer Software jahrelang keine Updates gibt. Oder ist die MariaDB schon absolut perfekt?

Aber letztlich ist es nicht mein Problem, wenn der Kunde die unbedingt haben will. Immerhin läuft sie jetzt - so viel Aufwand hab ich noch mit keiner SQL Datenbank treiben müssen, um den Punkt zu erreichen...

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

Re: Lazarus und Maria DB

Beitrag von MmVisual »

Außerdem wird aktuell MariaDB nach wie vor weiter entwickelt. Akuelle Version ist schon lange nicht mehr V10.6:

Code: Alles auswählen

Release date: 2024-11-22
File name: mariadb-11.6.2-winx64.msi
Und ein Update wird nur aus 2 Dingen benötigt:
- Security Fixes
- Features, die man unbedingt braucht.

Wobei letzteres braucht ca. 99,999% der Anwender eher nicht.

Und "Download a new MariaDB Server 11.8.0 Preview" bekommt man auch bereits als Preview.
Da MariaDB von einer Opensource Community gepflegt und entwickelt wird steht dahinter auch keine Firma, die pleite gehen kann.
EleLa - Elektronik Lagerverwaltung - www.elela.de

charlytango
Beiträge: 1084
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: Lazarus und Maria DB

Beitrag von charlytango »

braunbär hat geschrieben: Sa 11. Jan 2025, 16:33 Es kursieren eine Vielzahl von Versionen der libmysql.ddl im Internet. Jetzt habe ich eine gefunden, die sich mit meiner MariaDB verträgt und die Verbindung funktioniert
Nachdem MariaDB ein Fork aus MySQL ist sind die meisten DLLs kompatibel.
Aber warum du zum Zugriff auf eine MariaDB mit Krampf und Aufwand eine DLL aus dem MySQL Univerum nehmen willst, erschließt sich mir nicht.

Ach ja, MariaDB hat eine Timeline die bereits bis 2029 reicht. Und alle Funktionen die da noch kommen könnten werden sicher 99,999% der Benutzer nicht brauchen.
Wenn man sich bei der Formulierung der SQL-Statements etwas zurückhält dann ist es leicht möglich einfach auf eine andere Datenbank zu wechseln.

braunbär
Beiträge: 463
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
CPU-Target: 64Bit
Wohnort: Wien

Re: Lazarus und Maria DB

Beitrag von braunbär »

Langsam beginne ich, an meinem Geisteszustand zu zweifeln. Ich habe vor nicht allzu langer Zeit nach der neuesten MariaDB Version gesucht und eine Version 10.6 gefunden - keine Ahnung mehr wo.
charlytango hat geschrieben: Sa 11. Jan 2025, 18:48 Nachdem MariaDB ein Fork aus MySQL ist sind die meisten DLLs kompatibel.
Aber warum du zum Zugriff auf eine MariaDB mit Krampf und Aufwand eine DLL aus dem MySQL Univerum nehmen willst, erschließt sich mir nicht.
Ich WOLLTE keine DLL aus dem "MySQL Universum", es war die erste DLL, mit Hilfe derer ich mit meinem Programm eine Verbindung aufbauen konnte, habe davor eine Menge anderes probiert.
charlytango hat geschrieben: Sa 11. Jan 2025, 18:48 Und alle Funktionen die da noch kommen könnten werden sicher 99,999% der Benutzer nicht brauchen.
Das mag unter Linux stimmen oder auch nicht, das kann ich nicht beurteilen - Microsoft hat schon die Neigung, von Zeit zu Zeit disruptive Änderungen im Betriebssystem zu machen, nach denen manche Programme aktualisiert werden müssen, um unter der neuen Windows Version weiterhin zu funktionieren. Aber das ist ohnehin in Bezug auf die MariaDB kein Thema, weil es sich beim Alter der aktuellen Version um einen Irrtum meinerseits gehandelt hat.

charlytango
Beiträge: 1084
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: Lazarus und Maria DB

Beitrag von charlytango »

Sofern du die MariaDB nicht selbst oder mittels einer Umgebung wie XAMPP installiert hast, kannst du deren Version auch abfragen

SELECT VERSION() AS Version;
oder
SELECT @@VERSION AS Version;

Und danach gehst du auf der MariaDB Seite mal recherchieren welche Connectorversion dazu passt.

Oder du nimmst gleich die aus HeidiSQL ( Version 12.5.0.6677 bei mir ist eine libmariadb.dll in der Version 3.2.5.0 dabei).

braunbär
Beiträge: 463
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 3.6, FPC 3.2.2
CPU-Target: 64Bit
Wohnort: Wien

Re: Lazarus und Maria DB

Beitrag von braunbär »

Danke.
Zeigt die Versionsnummer 10.6.0 an. Das ist die Version, die ich vom Download her erwartet habe.

Und mit der Angabe von LibMariaDB in der entsprechenden TConnection-Eigenschaft funktioniert die Vebindung auch.

:D :D :D

charlytango
Beiträge: 1084
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: Lazarus und Maria DB

Beitrag von charlytango »

Nur um es nochmal für spätere Sucher zusammenzufassen:

Du benutzt SQLDB und in der TMySQL80Connection setzt du "SkipLibraryVersionCheck" und die zur Datenbank passende libmaria.dll?

Benutzeravatar
Zvoni
Beiträge: 396
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
CPU-Target: 32Bit
Wohnort: BW

Re: Lazarus und Maria DB

Beitrag von Zvoni »

charlytango hat geschrieben: Mo 20. Jan 2025, 09:27 Nur um es nochmal für spätere Sucher zusammenzufassen:

Du benutzt SQLDB und in der TMySQL80Connection setzt du "SkipLibraryVersionCheck" und die zur Datenbank passende libmaria.dll?
Und wenn die dll tatsächlich "libmaria-irgendwas.dll" heisst, wie kommt ihr dann an "DefaultLibraryName" vorbei?
Weil die ist mWn eine const in mysql.inc
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

wodim
Beiträge: 125
Registriert: Fr 9. Aug 2013, 08:28
OS, Lazarus, FPC: Debian 12 (Bücherwurm), M$Win10, Win11, Laz 3.8 FPC 3.2.2
CPU-Target: 64Bit

Re: Lazarus und Maria DB

Beitrag von wodim »

MmVisual hat geschrieben: Sa 11. Jan 2025, 13:53 Zeos V8 hingegen ist ein völlig neuen Weg gegenüber V7 gegenagen, es brauch nun nicht mehr die Version mit angegeben zu werden, die machen das nun ganz einfach automatisch (richtig). :D
Bloß bei mir nicht. :? Habe mir Zeos von hier 'runtergesaugt:

https://sourceforge.net/projects/zeosli ... p/download

Entpackt, dann das Package ./packages/lazarus/zcomponentdesign.lpk installiert. Nach den Meldungen, die da kamen, müssten damit alle benötigten Packages mit installiert sein. Ich kriege trotzdem noch die Meldung

Code: Alles auswählen

Requested database driver was not found
Hm, was wäre denn der richtige "Datenbanktreiber"? (Debian 12, MariaDB Server version: 10.11.6)
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

wodim
Beiträge: 125
Registriert: Fr 9. Aug 2013, 08:28
OS, Lazarus, FPC: Debian 12 (Bücherwurm), M$Win10, Win11, Laz 3.8 FPC 3.2.2
CPU-Target: 64Bit

Re: Lazarus und Maria DB

Beitrag von wodim »

wodim hat geschrieben: Do 30. Jan 2025, 14:29

Code: Alles auswählen

Requested database driver was not found
Hm, was wäre denn der richtige "Datenbanktreiber"? (Debian 12, MariaDB Server version: 10.11.6)

Code: Alles auswählen

ZConnection1.Protocol := 'mariadb';
Das war's (ist auch im "Eigenschaften"-Dialog einstellbar). :wink:
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

charlytango
Beiträge: 1084
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: Lazarus und Maria DB

Beitrag von charlytango »

Edited: Mist gebaut

Antworten