Entwickler-Ecke
Datenbanken - welche Datenbank läuft hier ?
andyka - Mi 20.05.09 13:37
Titel: welche Datenbank läuft hier ?
Hi ....
Hab mal in der Schule Pascal gelernt und bin leider schon ganz schön aus der Übung ... trotdem will ich mich wieder auf dieses Thema einlassen :-)
Meine Herausfordenrung ist ein Netzwerk-Login-Tool zu verfassen.
Mit der Abfrage aus einer Datei hab ich User / Pwd schon hinbekommen, jetzt möchte ich die Daten aus einer Datenbank auslesen, die leider nicht ich geschrieben habe, und wo der Programierer voll ungut ist :-) hab datenbankzugriff mit leserechten
Kann über PHPMyAdmin über WEB zugreifen und lesen ... - jetzt möchte ich es in Delhi verarbeiten - jedoch, woher weiss ich welches Datenbanksystem es ist ??
hab versucht damit zu connecten :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| FMysql.Host := '192.168.0.222'; FMysql.port := 3306; FMysql.user :='aaaaaa'; FMysql.password := '12345'; FMysql.UnixSocket := ''; FMysql.Db := 'abcd?'; FMysql.UseNamedPipe := false; FMysql.UseSSL := false; FMysql.Compress := true; FMysql.TrySockets := false; if FMysql.Connect then ShowMessage('Verbindung aufgebaut') else ShowMessage('Fehler beim Verbinden: '+FMysql.LastError); |
bekomme aber keine connection
wie kann ich herausfinden welche datenbank ich für delphi verwenden/ansprechen muss ??
lieben Dank vorab schon für die Hilfe und die Zeit die ihr euch nehmt dafür
Andy
Moderiert von
Narses: Delphi-Tags hinzugefügt
BenBE - Mi 20.05.09 14:15
PHPMyAdmin --> MySQL
Und zu deiner Frage: Welcher Fehler tritt den auf?
P.S.: Bitte Delphi-Tags für Source nutzen, liest sich besser ...
baka0815 - Mi 20.05.09 14:32
Der Host zu dem du dich verbindest ist 192.168.0.222, das spricht dafür, dass es sich um einen Computer in deinem Netzwerk handelt. Stimmt die Adresse?
Du kannst dich nicht auf deinen PC mit der fremden Datenbank verbinden.
andyka - Mi 20.05.09 15:48
also ja, 192.168.0.222 ist ein pc
wenn ich mich mit einem browser verbinde, dann komme ich auch auf die datenbank
192.168.0.222/phpmyadmin und es kommt die loginseite wo ich ja auch rein komme - also login funkt auch
wenn ich den source, welchen ich vorhin angefügt habe kommt nach einiger zeit eben die fehlermeldung "Fehler beim Verbinden - Can´t connect to MySQL Server on '192.168.0.222' (0)"
wobei ich doch mit phpmyadmin drauf zugreifen kann ??
Xentar - Mi 20.05.09 15:53
Ein MySQL Server akzeptiert standardmäßig nur Verbindungen vom lokalen Rechner.
Der PHPMyAdmin läuft soweit ich weiß lokal auf dem jeweiligen Server selber - und wird nur bei dir im Browser angezeigt.
Somit kommt dieser drauf, du mit deiner Anwendung aber nicht.
Probier doch erstmal, deine Anwendung auf dem Rechner selber auszuführen.
PHPMyAdmin ist übrigens keine Datenbank.
andyka - Mi 20.05.09 16:05
sorry - dass weiss ich, dass phpmyadmin keine datenbank ist, sondern nur ein tool zur verwaltung für
hmmmm - eigenartig - wir haben ein tool laufen, welches in c# programmiert ist, das greift auf die datenbank zu (liest werte aus, und schreibt werte neu)
verwende aber leider nur die ausführbare datei des tools und sehe nicht den quellcode davon
aber ich werde deinen rat befolgen, und erst einmal einen localhost probieren, ob mein programm grundsätzlich funktioniert
aber wie kann ich sonst daten von einer datenbank holen, welche nicht lokal bei mir läuft über delphi ?
Xentar - Mi 20.05.09 16:12
andyka hat folgendes geschrieben : |
| aber wie kann ich sonst daten von einer datenbank holen, welche nicht lokal bei mir läuft über delphi ? |
Der Server muss entsprechend eingestellt werden, dass er Verbindungen von (einem bestimmten) fremden Rechner annimmt.
andyka - Mi 20.05.09 16:27
aber das muss er sein ... - diese datenbank ist unsere mitarbeiterverwaltung
jeder hat die aufgabe seinen tagesbericht dort einzutragen und seine anwesenheit zu dokumentieren
diese tool istr von jedem rechner nutzbar, also es muss nur kopiert werden, ist eine exe undläuft auf jeden notebook und jeden desktop pc - muss also nicht aktiviert werden über ip adresse oder mac adresse - einfach mit dem usernamen und dem passwort logt man sich in das tool ein - username und pwd wird mit der datenbank verglichen und dann gehts los ...
also muss es aktiviert sein, dass von aussen zugegriffen werden kann
Narses - Mi 20.05.09 16:41
Moin und :welcome: im Forum!
Mach mal an der Kommandozeile einen Test:
Quelltext
1:
| telnet 192.168.0.222:3306 |
Dann sollten im Idealfall irgenwelche Zeichen ausgegeben werden, aber keine Fehlermeldung. Damit kannst du testen, ob der DB-Service von deinem aktuell verwendeten Rechner aus verfügbar ist.
Schau mal hier [
http://www.delphi-forum.de/topic_TMySQLConnection+v102++Einfache+MySQLKommunikation_91761.html], da ist eine kleine Demo-Anwendung mit dabei, mit der du relativ einfach einen ersten Test machen kannst. :idea: ;)
cu
Narses
andyka - Mi 20.05.09 17:02
ich habe
telnet 192.168.0.222:3306
ausprobiert, aber bekommen die fehlermeldung, dass über port 23 keine verbindung möglich ist - und ich weiss auch dass der port 23 zu ist ... - aber wieso versucht er mit port 23 zu verbinden, wenn 3306 da steht ?
lg
andy
Narses - Mi 20.05.09 17:04
Moin!
andyka hat folgendes geschrieben : |
| ausprobiert, aber bekommen die fehlermeldung, dass über port 23 keine verbindung möglich ist |
:oops: Kein Doppelpunkt, Leerzeichen bei telnet nehmen... :angel: ;)
cu
Narses
andyka - Mi 20.05.09 17:13
... ich habe die TMySQLConnection-Demo Datei probiert, bekomme aber nen Error 2000 wenn ich auf aktiv klicke ? - wo stehen denn die Error´s beschrieben ?
hmmm - ok, hab gedacht das ist übnerall so wie bei ftp, http und so weiter, dass der port über : angegeben wird ... - mein fehler :-)
jetzt kenn ich mich nimmer aus - mit telnet und port 3306 bekomme ich auch die meldung, dass mit port 3306 keine verbindung möglich ist - im phpmyadmin habe ich aber herausgelesen, dass die datenbank auf 3306 eingestellt ist ... - und das mitarbeiterverwaltungs-tool läuft aber .. hab es grad nochmal probiert .. auch probiert bei einer bestehenden mitarbeiterverwaltungsverbindung eine telnet oder delphi verbindung aufzubauen ... schlug trotzdem fehl ....
wo liegt mein denkfehler dass ich glaube dass das gehen müsste ?
Narses - Mi 20.05.09 17:26
Moin!
andyka hat folgendes geschrieben : |
| ... ich habe die TMySQLConnection-Demo Datei probiert, bekomme aber nen Error 2000 wenn ich auf aktiv klicke ? |
Vermutlich hast du die libmysql.dll nicht im %windir%\System32- oder alternativ im Programm-Verzeichnis liegen? :idea:
andyka hat folgendes geschrieben : |
| wo stehen denn die Error´s beschrieben ? |
ATM leider nur im Quelltext der Komponente. :oops: Hatte noch keine Zeit für eine ausführliche Doku... :?
andyka hat folgendes geschrieben : |
| jetzt kenn ich mich nimmer aus - mit telnet und port 3306 bekomme ich auch die meldung, dass mit port 3306 keine verbindung möglich ist |
Dann ist der MySQL-Server so eingestellt, dass er keine Direktverbindung erlaubt.
andyka hat folgendes geschrieben : |
| im phpmyadmin habe ich aber herausgelesen, dass die datenbank auf 3306 eingestellt ist |
Von einer Portdefinition wirst du leider nicht so ohne weiteres auf einen verfügbaren Dienst schließen können. :nixweiss: Mach mal auf der DB-Server-Maschine selbst einen Test in der Kommandozeile:
Quelltext
1: 2: 3: 4:
| netstat -a | find /i "3306"
Ausgabe: TCP <host>:3306 <host>:0 ABHÖREN |
Sollte keine Ausgabe erfolgen, ist der MySQL-Port nicht geöffnet.
andyka hat folgendes geschrieben : |
und das mitarbeiterverwaltungs-tool läuft aber .. hab es grad nochmal probiert .. auch probiert bei einer bestehenden mitarbeiterverwaltungsverbindung eine telnet oder delphi verbindung aufzubauen ... schlug trotzdem fehl ....
wo liegt mein denkfehler dass ich glaube dass das gehen müsste ? |
Es könnte sein, dass das Tool das über einen Webservice oder einen PHP-Adapter macht? :nixweiss: Ohne den Quelltext wird das auch nicht ins Auge springen, müßtest du mal mit Wireshark schnüffeln gehen. :idea: ;)
cu
Narses
baka0815 - Do 21.05.09 18:54
Es kann auch sein, dass phpMyAdmin auf einen anderen PC zugreift, auf dem die Datenbank liegt und diese somit nicht über die selbe Adresse erreichbar ist. Das am besten auch prüfen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!