Autor Beitrag
andyka
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 20.05.09 13:37 
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 :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
  // Eigenschaften setzen
  FMysql.Host := '192.168.0.222';
  FMysql.port := 3306;
  FMysql.user :='aaaaaa';
  FMysql.password := '12345';
  FMysql.UnixSocket := '';
  FMysql.Db := 'abcd?'// Datenbank auf dem Server
  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 user profile iconNarses: Delphi-Tags hinzugefügt
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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 ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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.

_________________
PROGRAMMER: A device for converting coffee into software.
andyka Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Mi 20.05.09 16:12 
user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
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.

_________________
PROGRAMMER: A device for converting coffee into software.
andyka Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 20.05.09 16:41 
Moin und :welcome: im Forum!

Mach mal an der Kommandozeile einen Test:
ausblenden 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, da ist eine kleine Demo-Anwendung mit dabei, mit der du relativ einfach einen ersten Test machen kannst. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
andyka Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 20.05.09 17:04 
Moin!

user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
ausprobiert, aber bekommen die fehlermeldung, dass über port 23 keine verbindung möglich ist
:oops: Kein Doppelpunkt, Leerzeichen bei telnet nehmen... :angel: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
andyka Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 20.05.09 17:26 
Moin!

user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
... 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:

user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
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... :?

user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
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:
ausblenden 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.

user profile iconandyka hat folgendes geschrieben Zum zitierten Posting springen:
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

_________________
There are 10 types of people - those who understand binary and those who don´t.
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: 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.