XAMPP: 8.2.0-0; MySQL 8.2.0; Lazarus: 2.3.0; FPC: 3.3.1; OS: Linux Mint 21.1 Cinnamon
Moin,
ich habe eine kleine Datenbank-App zusammen geklickt.
Auf meinem anderen Rechner bekam ich damit auch eine Verbindung zur Datenbank meiner Joomla-Installation bei meinem Provider.
Aber da ich die App dort aber nur dann nutzen kann, wenn ich Kodi und sein MariaDB deinstalliere, dachte ich mir, es müsste doch auch lokal gehen.
Da ich auf diesem Rechner eine XAMPP-Installation zur Verfügung habe, habe ich mittel "phpMyAdmin" eine neue Datenbank angelegt und die genauso genannt,
wie die bei meinem Provider. Auch Benutzername und Passwort sind gleich.
Einziger Unterschied: Beim Provider MySQL 5.7 und hier jetzt 8.2.
Naive dachte ich mir dann:"Brauchst ja nur HOSTNAME und CONNECTOR TYPE ändern und dann läuft es auch lokal."
Also, habe ich im Objektinspektor das hier eingetragen:
Wenn ich jetzt zum Test der Verbindung "Connected" auf TRUE setze, bekomme ich diese Fehlermeldung:
Ich fand dann noch heraus, das man in MySQL Einstellungen einen Zugriff von überall (0.0.0.0) und nicht nur localhost (127.0.0.1) zulassen sollte.
Brachte aber auch keine Änderung.
Leider helfen die Logfiles auch nicht weiter und Lazarus gibt an dieser Stelle auch keine Fehlermeldung aus.
Starte ich die Anwendung und aktiviere die Verbindung dann, dann erhalte ich die Meldung:
Der Server und die Datenbank laufen.
Wo ist mein Denkfehler?
Gruß Heiko
XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
- kralle
- Lazarusforum e. V.
- Beiträge: 938
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
Zuletzt geändert von kralle am Do 1. Jun 2023, 16:48, insgesamt 1-mal geändert.
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
-
- Beiträge: 10
- Registriert: Sa 17. Aug 2013, 22:09
- OS, Lazarus, FPC: Win10/11pro 64Bit (L 2.2.6 FPC 3.2.2)
- CPU-Target: 64Bit
- Wohnort: Marl
Re: XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
Moin, Moin,
must Du nicht auch beim Hostname die Instanz mit angeben?
Wenn ich auf meine MS-SQL Express Server in Standartinstallation zugreife...
Server\SQLExpress
Grruß
Karsten
must Du nicht auch beim Hostname die Instanz mit angeben?
Wenn ich auf meine MS-SQL Express Server in Standartinstallation zugreife...
Server\SQLExpress
Grruß
Karsten
- kralle
- Lazarusforum e. V.
- Beiträge: 938
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
Moin,
also als ich die Verbindung zum Provider aufgebaut habe, reichte die Host-Adresse.
Was sollte ich dann für XAMPP als Instanz eintragen?
Gruß Heiko
also als ich die Verbindung zum Provider aufgebaut habe, reichte die Host-Adresse.
Was sollte ich dann für XAMPP als Instanz eintragen?
Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
Re: XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
Ich glaube auch localhost und Port 3306, sonst nichts.
- kralle
- Lazarusforum e. V.
- Beiträge: 938
- Registriert: Mi 17. Mär 2010, 14:50
- OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
- CPU-Target: 64Bit
- Wohnort: Bremerhaven
- Kontaktdaten:
Re: XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
Hat leider nichts geändert.
Gruß Heiko
Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
FPC-Version: 3.3.1 , Lazarus 2.3.0
+ Delphi XE7SP1
-
- Beiträge: 813
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz 2.2.6
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: XAMPP, SQL-Datenbank & Zugriff via Lazarus-App
Bei XAMPP ist die xampp-control dabei - eine Oberfläche mit der man die verschiedenen Services von XAMPP starten, stoppen, verwalten und einstellen kann.
Aktuelle XAMPP Versionen benutzen MariaDB als Datenbank (bei mir unter Win 10: xampp 8.2.20, MariaDB 10.4.27)
- "Instanz" brauchst du nicht -- Hostname und Databasename reicht.
- Sieh nach ob die Datenbank läuft und vor allem unter welchem Port. Oft wird der Port von xampp schon mal verändert wenn er irgendwie belegt zu sein scheint.
- checke nochmal ob die bitness passt. (DB,Zugriffsbibliothek, Lazarus-exe)
- Der TSQLConnector ist eine art Proxy für DB-Verbindungen der mittels ConnectorType selbst versucht herauszufinden welche dll passt. Die Versionserkennung von SQLDB funktioniert bei MariaDB leider nicht (im Source steht da irgend ein launiger Text von wegen "Pech gehabt").
- du kannst statt eines TSQLConnector auch direkt einen bestimmten Connector einer bestimmten Version benutzen (zb TMySQL55Connection). Mittels TSQLDBLibraryLoader kannst du eine bestimmte Bibliothek zuweisen und mit "SkipLibraryVersion" auch die Versionsprüfung ausschalten (die eben bei MariaDB nicht funktioniert)
- ich hatte auch mit
TSQLConnector
ConnectorType=MySQL 5.5
CustomLibraryName=libmysql.dll (Version 5.6.6)
Erfolg.
- Auch libmariadb.dll, also die Zugriffsbibliothek von MariaDB könnnte helfen.
- Bei Verbindungsproblemen mit Lazarus versuche ich zuerst mit Drittsoftware an die DB zu kommen dann weiß ich dass es grundsätzlich möglich ist und nur mehr an der Kombination der Einstellungen liegt. HeidiSQL (auch als portable Version downloadbar) bringt für Windows auch alle DLLs mit die man dann auch gleich in Lazarus verwenden kann. So kann man auch erstmal die Berechtigungen in MariaDB prüfen.
unter Linux weiß ich nicht mit welchem externen Tool man gegen die DB verbinden könnte.
Weiß der Geier warum MariaDB so sträflich in SQLDB wegkommt.
Eine alternative Variante ist ZEOS. (über OPM installierbar). Da kann man die Bibliothek direkt zuweisen und das sollte man auch tun. Dort benutze ich libmariadb.dll in der zur DB passenden Version und das klappt klaglos. Auch ZEOS kännte die Zugriffsbibliothek "erraten" wenn das Property leer ist und unterstützt imho auch MariaDB.
Aktuelle XAMPP Versionen benutzen MariaDB als Datenbank (bei mir unter Win 10: xampp 8.2.20, MariaDB 10.4.27)
- "Instanz" brauchst du nicht -- Hostname und Databasename reicht.
- Sieh nach ob die Datenbank läuft und vor allem unter welchem Port. Oft wird der Port von xampp schon mal verändert wenn er irgendwie belegt zu sein scheint.
- checke nochmal ob die bitness passt. (DB,Zugriffsbibliothek, Lazarus-exe)
- Der TSQLConnector ist eine art Proxy für DB-Verbindungen der mittels ConnectorType selbst versucht herauszufinden welche dll passt. Die Versionserkennung von SQLDB funktioniert bei MariaDB leider nicht (im Source steht da irgend ein launiger Text von wegen "Pech gehabt").
- du kannst statt eines TSQLConnector auch direkt einen bestimmten Connector einer bestimmten Version benutzen (zb TMySQL55Connection). Mittels TSQLDBLibraryLoader kannst du eine bestimmte Bibliothek zuweisen und mit "SkipLibraryVersion" auch die Versionsprüfung ausschalten (die eben bei MariaDB nicht funktioniert)
- ich hatte auch mit
TSQLConnector
ConnectorType=MySQL 5.5
CustomLibraryName=libmysql.dll (Version 5.6.6)
Erfolg.
- Auch libmariadb.dll, also die Zugriffsbibliothek von MariaDB könnnte helfen.
- Bei Verbindungsproblemen mit Lazarus versuche ich zuerst mit Drittsoftware an die DB zu kommen dann weiß ich dass es grundsätzlich möglich ist und nur mehr an der Kombination der Einstellungen liegt. HeidiSQL (auch als portable Version downloadbar) bringt für Windows auch alle DLLs mit die man dann auch gleich in Lazarus verwenden kann. So kann man auch erstmal die Berechtigungen in MariaDB prüfen.
unter Linux weiß ich nicht mit welchem externen Tool man gegen die DB verbinden könnte.
Weiß der Geier warum MariaDB so sträflich in SQLDB wegkommt.
Eine alternative Variante ist ZEOS. (über OPM installierbar). Da kann man die Bibliothek direkt zuweisen und das sollte man auch tun. Dort benutze ich libmariadb.dll in der zur DB passenden Version und das klappt klaglos. Auch ZEOS kännte die Zugriffsbibliothek "erraten" wenn das Property leer ist und unterstützt imho auch MariaDB.