Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MariaDB und Delphi (https://www.delphipraxis.net/155264-mariadb-und-delphi.html)

Gravitar 15. Okt 2010 11:04

Datenbank: MariaDB • Version: 5.1.50 • Zugriff über: ADO

MariaDB und Delphi
 
Hi,

hat schon mal jemand unter Delphi mit der MariaDB gearbeitet und - wenn ja - könnte derjenige dann mal etwas zur Vorgehensweise schreiben.

Ich würde ja am liebsten einfach über die ADO-Komponenten einen connect aufbauen. Finde derzeite aber leider keine Beispiele.

Gruß, Andreas

Sir Rufo 15. Okt 2010 11:10

AW: MariaDB und Delphi
 
Da MariaDB auf MySQL aufsetzt gelten wohl im Moment die gleichen Bedingungen.

Für MySQL gibt es keinen OLEDB Treiber (gab es mal wurde aber wohl nicht weiterentwickelt)
Somit bliebe bei ADO-Zwang noch ODBC

Persönlich setze ich bei MySQL aber MyDAC von devart ein, weil der Zugriff so performanter als über ODBC ist.

Selber ausprobiert habe ich Maria noch nicht ... aber hört sich interessant an

Edit

Da habe ich doch einen OLEDB Provider für MySQL gefunden http://cherrycitysoftware.com/CCS/Pr...ProvMySQL.aspx (Kaufware)

Gravitar 19. Okt 2010 09:39

AW: MariaDB und Delphi
 
Nach einigen Recherchen habe ich nun den connect hinbekommen. Dazu habe ich mir folgende Dateien aus dem Netz runtergeladen (ausschließlich kostenlose Komponenten):

a) MariaDB 5.1.50 (MariaDB-5.1.50-win32.exe)
http://askmonty.org/wiki/MariaDB:Download
b) MySQL ODBC-Treiber (mysql-connector-odbc-5.1.7-winx64.msi)
http://www.mysql.de/downloads/connector/odbc/
c) MySQL-Workbench 5.2.29 (mysql-workbench-gpl-5.2.29-win32.msi)
http://www.mysql.de/downloads/workbench/
Da die MariaDB voll kompatibel zur MySQL ist, können die MySQL-Komponenten ohne Probleme eingesetzt werden.

Die MariaDB habe ich mit MySQLD.exe gestartet.

Mit der MySQL-Workbench habe ich dann eine Datenbank inkl. einer Tabelle angelegt.

Unter Delphi habe ich eine ADO-Connection zur Datenbank unter Verwendung des ODBC-Treibers hergestellt und mittels ADO-Command (Select * from <Table>) und Data-Source eine Verbindung zum DB-Grid hergestellt.

Alles lief auf Anhieb!Und das auch noch mit Vista 64!Vermutlich ist der Zugriffsweg nicht optimal (ADO über ODBC usw.), aber immerhin kann ich komplett auf kostenpflichtige Komponenten verzichten.

Falls Interesse an einer detaillierteren Beschreibung bzw. Performance dieses Zugriffsweges besteht, einfach melden.

Falls es noch eine performantere/einfachere Möglichkeit gibt, um auf die MariaDB zuzugreifen (wie gesagt, nur mit kostenlosen Komponenten) wäre ich sehr interessiert.

Viele Grüße,

Andreas

Sir Rufo 19. Okt 2010 10:21

AW: MariaDB und Delphi
 
Such mal nach ZEOS

Gravitar 19. Okt 2010 11:56

AW: MariaDB und Delphi
 
Zitat:

Zitat von Sir Rufo (Beitrag 1056439)
Such mal nach ZEOS

Könnte ich ja glatt machen, aber warum?

Hat der Zugriff über ZEOS im Vergleich zum geschilderten irgendwelche Vorteile?

haentschman 19. Okt 2010 11:58

AW: MariaDB und Delphi
 
Zitat:

Hat der Zugriff über ZEOS im Vergleich zum geschilderten irgendwelche Vorteile?
...ist kostenlos und funktioniert mit MySQL :zwinker:

Gravitar 19. Okt 2010 12:01

AW: MariaDB und Delphi
 
Zitat:

Zitat von haentschman (Beitrag 1056473)
...ist kostenlos und funktioniert mit MySQL :zwinker:

Na, das habe ich doch schon (sh. #3).

Bernhard Geyer 19. Okt 2010 12:03

AW: MariaDB und Delphi
 
Bedenke aber immer das wenn du über eine DLL (hier u.U. libmysql.dll oder myodbc-Treiber von MySQL) du in die GPL-Falle von MySQL gerätst und für jede auslieferung einen MySQL-Server-Lizenz kaufen musst!

Ob bei Verwendung der DB MariaDB diese Fall auch zuschlägt ist offen. Da aber im Ernstafall jetzt Oracle mit Zig Anwälten dahinter steht würde ich das nicht darauf ankommen lassen.

Bernerbaer 19. Okt 2010 13:00

AW: MariaDB und Delphi
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1056476)
Bedenke aber immer das wenn du über eine DLL (hier u.U. libmysql.dll oder myodbc-Treiber von MySQL) du in die GPL-Falle von MySQL gerätst und für jede auslieferung einen MySQL-Server-Lizenz kaufen musst!

Ob bei Verwendung der DB MariaDB diese Fall auch zuschlägt ist offen. Da aber im Ernstafall jetzt Oracle mit Zig Anwälten dahinter steht würde ich das nicht darauf ankommen lassen.

Nun soweit ich informiert bin, kann man ja noch mit der unter LGPL stehenden Mysqllib 3.23 oder einer unter "Simplified BSD License" stehenden "Drizzle Client Library" auf MariaDB zugreifen. Ob jetzt ZEOS im speziellen diese Client Libraries unterstützt ist mir nicht bekannt.

Bernhard Geyer 19. Okt 2010 13:29

AW: MariaDB und Delphi
 
Zitat:

Zitat von Bernerbaer (Beitrag 1056497)
Nun soweit ich informiert bin, kann man ja noch mit der unter LGPL stehenden Mysqllib 3.23 oder einer unter "Simplified BSD License" stehenden "Drizzle Client Library" auf MariaDB zugreifen. Ob jetzt ZEOS im speziellen diese Client Libraries unterstützt ist mir nicht bekannt.

Eine 3.23-Lib wird noch nicht das neue Passwort-Verschlüsselungsverfahren von MySQL 4.0 oder neuer unterstützen. Und auch LGPL kann viral sein und entsprechend eine GPL darstellen.

franktron 19. Okt 2010 14:36

AW: MariaDB und Delphi
 
Also ich habe gerade mal getestet und ja MariaDB geht mit DevArt myDAC ohne Probleme

Gravitar 19. Okt 2010 14:57

AW: MariaDB und Delphi
 
Zitat:

Zitat von franktron (Beitrag 1056520)
Also ich habe gerade mal getestet und ja MariaDB geht mit DevArt myDAC ohne Probleme



Kann ich mir schon vorstellen. Aber kostenlos ist was anderes :wink:

franktron 19. Okt 2010 16:03

AW: MariaDB und Delphi
 
Zitat:

Zitat von Gravitar (Beitrag 1056526)
Zitat:

Zitat von franktron (Beitrag 1056520)
Also ich habe gerade mal getestet und ja MariaDB geht mit DevArt myDAC ohne Probleme



Kann ich mir schon vorstellen. Aber kostenlos ist was anderes :wink:

Ja da musst du zeos nehmen laut der MariaDB HP soll dies Binarkompatibel sein

Bernhard Geyer 19. Okt 2010 16:37

AW: MariaDB und Delphi
 
Zitat:

Zitat von franktron (Beitrag 1056535)
Ja da musst du zeos nehmen laut der MariaDB HP soll dies Binarkompatibel sein

Zeos setzt auf libmysql.dll und benötigt eine Version mit GPL-Falle.

franktron 19. Okt 2010 16:45

AW: MariaDB und Delphi
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1056536)
Zitat:

Zitat von franktron (Beitrag 1056535)
Ja da musst du zeos nehmen laut der MariaDB HP soll dies Binarkompatibel sein

Zeos setzt auf libmysql.dll und benötigt eine Version mit GPL-Falle.

Die von MariaDB heist auch so ist aber laut HP nur Bytekompatibel.
Guckste hier http://kb.askmonty.org/v/mariadb-versus-mysql

ub60 19. Okt 2010 17:01

AW: MariaDB und Delphi
 
Frage zum ODBC-Treiber:
Muss der Treiber stationär installiert werden oder kann er temporär (Programm auf USB-Stick) aktiviert werden?

Lizenzfrage zu MariaDB (ich bin leider mit der Lizenzinfo auf der MariaDB-Seite nicht schlau geworden):
Wenn ich mir die 130 oder 200 Dollar für MyDAC ans Bein binde, kann ich dann Applikationen ohne weitere Lizenzen verkaufen, die ich gegen MariaDB verlinke?
Müsste ich in dem Fall die Quelltexte offenlegen?
ub60

Gravitar 20. Okt 2010 13:57

AW: MariaDB und Delphi
 
Also wenn ich die Diskussion richtig verstehe, dann geht hinsichtlich des Datenzugriffs (ADO, ODBC, native...) insbesondere um lizenzrechtliche Fragen.

So kommen die aktuell diskutierten Zugriffsmethoden immer zum gleichen Ergebnis
1) ZEOS benötigt die libmysql.dll und unterliegt damit GPL-V2
2) ODBC-Treiber von MySQL unterliegt GPL-V2
3) Nativer Zugriff über libmysql.dll wie 1), bloß ohne Umweg ZEOS
Jetzt basiert die GPL-V2 ja auf folgender Forderung: "Wer eigene Software auf GPL-Code aufbaut, muss seinen Code ebenfalls unter der GPL freigeben und so der Allgemeinheit zur Verfügung stellen."

Allerdings unterliegen die MySQL und auch die MariaDB ebenfalls der GPL-V2.

Damit gibt es - unabhängig vom Zugriffsweg - nur folgende 2 Konsequenzen:
a) alle auf MySQL oder MariaDB basierenden Programme unterliegen automatisch der GPL-V2 oder
b) solange ich am Source-Coder der MySQL, MariaDB, ODBC-Treiber, libmysql.dll usw. nichts ändere, unterliegt mein Programm eben nicht der GPL.
Ich würde mal stark in Richtung b) tendieren. Ansonsten müßte ja auch MyDAC unter GPL liegen, da diese ja MySQL nutzen. :gruebel:

So richtig interpretiert?

P.S.: Mit dem ODBC-Treiber und MariaDB bin ich im Moment echt glücklich. Insbesondere war der Datenexport aus Access in die MariaDB wirklich einfach (Access, exportieren an ODBC-Datenquelle, fertig).


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz