Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbankzugriff MySQL (https://www.delphipraxis.net/167371-datenbankzugriff-mysql.html)

Peter-Pascal 26. Mär 2012 22:27

Datenbank: MySQL • Version: 5,1 • Zugriff über: TADOConnection

Datenbankzugriff MySQL
 
Hallo zusammen,

ich versuche eine Verbinung mit dem MYSQL-Server aufzubauen, klappt aber nicht.
Der MySQL-Server ist auf einer NAS. Ich wollte mit TADOConnection die Verbindung aufbauen. Im Connectionstring gebe ich:
'DRIVER=MySQL ODBC 3.51 Driver;'+'SERVER=192.168.2.101;'+'DATABASE=Test;+' UID=root;'+'PASSWORD=admin;'+'OPTION=3';
ein.
Setze im Objectinspector Connected auf true, es kommt ein Dialog dass mich nach Benutzer und Passwort fragt und dann die Fehlermeldung:

Der Datenquellenname wurde nicht gefunden und es wurde kein Standardtreiber angegeben.

Ich habe hier schon viel rumgesucht aber nichts so richtig gefunden, was ich brauche. Viel lese ich, das mit den Zeos Komponenten gearbeitet werden soll, wäre auch ok aber für Delphi XE2 gibt es keine Installation.

Vielen Dank und Grüße
Peter

Bummi 26. Mär 2012 22:37

AW: Datenbankzugriff MySQL
 
ist eine Weile her dass ADO für MySql gebraucht hatte, ich habe noch etwas im Hinterkopf wie
http://faq.hosteurope.de/view.php?mo...ontent_id=5789

und Problemen bei einer der Versionen die ich installiert hatte, ob das jetzt 3.x oder 4.x war weiß ich allerdings nicht mehr.

ChEeTaH 27. Mär 2012 09:36

AW: Datenbankzugriff MySQL
 
Zeos gibt es für xe2, allerdings nur im svn. Irgendwer hat hier auch eine Installationsanleitung gepostet.

Peter-Pascal 27. Mär 2012 10:54

AW: Datenbankzugriff MySQL
 
Danke für die Antwort.

Was ist ein Versionskontrollsystem?

zZ arbeite ich mich in MySQL ein. Es ist eher Zufall, dass ich diese DB habe. Ich habem mir ein NAS gekauft und überrascht festgestellt, dass ich auch ein MySQL DBMS installiert habe. Soweit scheint das auch zu klappen, das DBMS bediene ich mit PHPMyAdmin.

Allerdings stehe ich hinsichtlich Zugriff auf die DB per Delphi völlig im Dunkeln. Bislang habe ich nur mit Paradox gearbeitet (ich weiß ist veraltet, aber es funktioniert für eine lokale DB.

Ist der Zugriff über ADO nicht empfehlenswert?
Gibt es irgendwo eine Anleitung für das Abfragen von Daten über ADO?
Leider ist die Delphi-Hilfe an dem Bereich für mich teilweise völlig unverständliche.

Gruß Peter

vagtler 27. Mär 2012 11:13

AW: Datenbankzugriff MySQL
 
Zitat:

Zitat von Peter-Pascal (Beitrag 1158835)
[...] Was ist ein Versionskontrollsystem? [...]

http://de.wikipedia.org/wiki/Versionsverwaltung

Peter-Pascal 27. Mär 2012 18:16

AW: Datenbankzugriff MySQL
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe Zeos7 installiert. War auch nicht ganz so einfach, egal ...
In einem Tutorium von Delphi-Treff sind nur ganz andere Componenten.

Nun bei TZConnection kann ich viel einstellen, die Componente ist im Anhang. Es fragt nach dem Benutzer und Paßwort, das gebe ich an und es kommt die nachfolgende Fehlermeldung.
Desktop ist der PC auf dem Delphi läuft, also der Client. Der MySQL-Server läuft auf einer NAS QNAP. Mit PHPMyAdmin kann ich wunderbar auf das DBMS zugreifen. Die DB Flughafen habe ich angelegt.

Was mache ich falsch?

Gruß Peter

DeddyH 27. Mär 2012 18:21

AW: Datenbankzugriff MySQL
 
So wie es aussieht lässt der Server keinen Zugriff von außen zu. phpMyAdmin läuft ja wahrscheinlich auch auf dem NAS, daher ist das aus dessen Sicht dann localhost und somit zulässig.

Peter-Pascal 27. Mär 2012 18:25

AW: Datenbankzugriff MySQL
 
Ja, PHPMyAdmin läuft auf der NAS. Aber wie überrede ich jetzt das System mir den Zugang doch zu gewähren?

DeddyH 27. Mär 2012 18:35

AW: Datenbankzugriff MySQL
 
Versuch es mal damit: http://www.huschi.net/12_123_de.html...t=bind-address

Peter-Pascal 27. Mär 2012 19:23

AW: Datenbankzugriff MySQL
 
Danke DaddyH

ich probiere das mal aus, muss allerdings noch suchen, wo die bind-address ist.

Allerdings verstehe ich das nicht, ist MySQL nicht gerade für den Zugriff von außen entwickelt worden, bzw weiterentwickelt. Gerade wenn es sich um eine DB im Web handelt, muss es doch Zugriff von außen zulassen, oder ist da immer local ein Programm, dass den DB-Zugriff steuert?

Wie macht man das denn in verteilten Netzen?

Gruß Peter
(mein Programm ist Version 1.0)

mkinzler 27. Mär 2012 19:32

AW: Datenbankzugriff MySQL
 
Meistens läuft die Datnbank auf dem selben Server wie der Webserver. Man kann aber genau festlegen, von wo aus man Zugreifen darf. Allerdings beschränken viele Provider den Zugriff von "Außen".

Valle 27. Mär 2012 22:46

AW: Datenbankzugriff MySQL
 
Zitat:

Zitat von Peter-Pascal (Beitrag 1158979)
Allerdings verstehe ich das nicht, ist MySQL nicht gerade für den Zugriff von außen entwickelt worden, bzw weiterentwickelt. Gerade wenn es sich um eine DB im Web handelt, muss es doch Zugriff von außen zulassen, oder ist da immer local ein Programm, dass den DB-Zugriff steuert?

"Außen" ist relativ. Die meisten Datenbanken laufen auf dem gleichen Host wie der Webserver, wie mkinzler schon schrieb. Programme die Datenbanken steuern sind im Web-Umfeld oft auch nur Webseiten. Und diese laufen ja auf dem Server.

Zitat:

Zitat von Peter-Pascal (Beitrag 1158979)
Wie macht man das denn in verteilten Netzen?

Die hohe Verbreitung von MySQL im Linux-Server Umfeld hat dazu geführt, dass viele Leute einen eigenen Linux Webserver aufsetzen, MySQL und PHP installieren und denken sie seien Serveradministratoren. Das führte dann dazu, dass jeder MySQL-Server im Internet erreichbar war, da diese Leute die Server nicht richtig konfigurierten und keine Firewalls installierten. Deshalb ist es mittlerweile so, dass MySQL in der Standardinstallation nur lokal zu erreichen ist. Wer Zugriff von Außen wünscht ist sich dessen meistens bewusst. In großen Netzwerken wird der Zugriff auf eine Datenbank genau per Firewall gesteuert. Da gilt mehr als einfach "nur lokal" oder "alles zulassen".

Liebe Grüße,
Valentin

Medium 27. Mär 2012 23:12

AW: Datenbankzugriff MySQL
 
Ich hatte letztens das gleich Problem, als ich dann doch endlich mal den Umstieg von MySQL 4.x auf 5.x durchbekommen habe. Wir nutzen MySQL nur im LAN, und bislang war Zugriff über Rechner in diesem kein Problem. Das neuere MySQL Setup legt aber abweichend vom älteren nur einen root-user an, der sich lokal verbinden kann, auch wenn es in dem Config-Tool anders eingestellt war.
Lösung: Lege einen weiteren User in der User-Tabelle von MySQL an, der beim Host "%" stehen hat (vergleichbar mit "*", also Wildcard). Dieser kann sich dann von überall her verbinden. Das ist allerdings die Holzhammermethode, und keinesfalls für einen Server zu empfehlen, der von aussen erreichbar wäre! Der Eintrag in dieser Spalte lässt jedoch einiges an Freiheiten, um den Zugriff auf die nötigen IP-Kreise oder Hostnamen zu begrenzen. In einem völlig vertrauenswürdigen LAN tut "%" aber wohl seinen Dienst - so lange der PC nicht ans Internet angebunden ist :)

Peter-Pascal 29. Mär 2012 17:45

AW: Datenbankzugriff MySQL
 
Liste der Anhänge anzeigen (Anzahl: 1)
Heureka,

man muss nur mit PHPMyAdmin einen Benutzer anlegen. Wie es hier auch schon gesagt wurde. Im Nachhinein so einfach, dass es fast peinlich ist. Ein paar ScreenDumps im Anhang veranschaulichen den Vorgang.

Danke für eure Hilfe

Gruß Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr.

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