Entwickler-Ecke

Datenbanken - Mit Delphi7 auf MySQL-DB zugreifen


rob87 - Fr 28.12.07 10:09
Titel: Mit Delphi7 auf MySQL-DB zugreifen
Ich denke, dass die Frage schon öfters gestellt wurde.

Ich will mit Delphi7 auf eine MySQL-DB zugreifen. Nun habe ich in anderen Threads immer wieder was gefunden. Aber ich bin immer noch auf der Suche nach einer kompletten Übersicht.

Also eine Art Tutorial oder Openbook wie ma zw. Delphi und MySQL kommuniziert. Bis jetzt hab ich nur mit Microsoft SQL-DB gearbeitet


Bernhard Geyer - Fr 28.12.07 10:27

Letztendlich ist es für alle SQL-Server ziemlich gleich: Man nimmt passende DB-Zugriffskomponenten. Versteht etwas von den eigenheiten des SQL-Dialekts und arbeitet entweder mit oder ohne DB-Sensitive Controls. Der Unterschied ist so klein das z.B. ein unserer über 1 Mio. Quellzeilen großen Anwendung die Datenbankanbindung pro DBMS-System mit ca. 500 Zeilen DB-Spezifischen Code auskommt (auch wenns diese 500 Zeilen Code teilweise einige graue Haar gekostet haben).

Bei MySQL kannst du z.B. Komponenten von CoreLabs nehmen oder wenns nicht kosten darf sind auch die ZEOS-Komponenten ganz brauchbar. Manche schwören auch auf Units die ganz ohne TDateset-Kompatible Komponenten auskommmen sondern eine C-Like Unit verwenden.


rob87 - Fr 28.12.07 10:30

Irgendwie versteh ich im Moment nur Bahnhof.

Was is denn mit ADO-Componenten, etc.?


Bernhard Geyer - Fr 28.12.07 10:41

user profile iconrob87 hat folgendes geschrieben:
Was is denn mit ADO-Componenten, etc.?

ADO-Komponenten sind gut für MS SQL-Server und Access und anderen Windows-Spezifischen Dingen die per ADO abgreifbare sind. Für MySQL stellen sie einen Umweg/unnötige Zwischenschicht dar die eigentlich nur Probleme verursacht (Vor allem wenn auch noch ODBC im Spiel ist).
Nimm CoreLabs-Komponenten und du brauchst nicht mal die lizenztechnish problematische libmysql.dll mit ausliefern da alles in die Exe compiliert wird.


rob87 - Fr 28.12.07 10:42

OK. Ich guck mal. *g*


rob87 - Fr 28.12.07 11:10

Wo find ich diese Komponente in meiner Delphi-Leiste? *g*


rob87 - Do 03.01.08 17:50

Ich machs nun mit ner SQLConnection-Komponente ausm dbExpress.

Nun krieg ich aber die Meldung:
Zitat:
libmysql.dll kann nicht gelesen werden


Zur Basis: Ich hab Delphi 7 Enterprise und MySQL Version: 4.1.21

Weiß jemand, welche libmysql.dll ich brauch? Hab schon gegoogelt. Aber da gibts ja etliche.


mkinzler - Do 03.01.08 18:10

Die zu der Serverversion passt


rob87 - Fr 04.01.08 09:20

Es befindet sich nun eine libmysql.dll auf dem Server im Verzeichnis C:\Windows\System32\ und im Verzeichnis ..\MySQL Server 41.\bin\

Und auf meinem lokalen Rechner, auf dem ich programmiere befindet sich die libmysql.dll auch im Ordner C:\Windows\System32\


Aber es geht immer noch nicht? Hab ich die Datei vll. immer noch nicht am richtigen Ort? ODer ist es einfach nur eine falsche Version (Hab sie aus dem Verzeichnis in dem PHP installiert ist)?


rob87 - Fr 04.01.08 11:31

Ich habs mittlerweile mit diesem Tutorial probiert:

Ist übrigens durchaus empfehlenswert:
http://www.dsdt.info/tutorials/mysqldirect/