AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Kann nicht zur MySQL verbinden :(
Thema durchsuchen
Ansicht
Themen-Optionen

Kann nicht zur MySQL verbinden :(

Ein Thema von Master_RC · begonnen am 19. Mär 2006 · letzter Beitrag vom 22. Mär 2006
Antwort Antwort
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#1

Kann nicht zur MySQL verbinden :(

  Alt 19. Mär 2006, 01:03
hi leutz!

Ich versuche per Unit "mysql" wie folgt zu verbinden, was aber nicht klappt...

Die Funktion hab ich in eine DLL gepackt:

Delphi-Quellcode:
function ConnectToDB(DatabaseVar:PMySQL; host:PChar): boolean; stdcall;
var user,pass,db:PChar;
begin
  user := 'root';
  pass := nil;
  db := 'darkage';

  DatabaseVar := mysql_init(nil);
  if DatabaseVar = nil then
  begin
    //MessageDlg('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren',mtError,[mbOK],0);
    result := false;
    Exit;
  end;

  // anschließend wird die Verbindung hergestellt
  if mysql_real_connect(DatabaseVar, host, user, pass, db, 3306, nil, 0) = nil then
  begin
    // MessageDlg('Die Verbindung konnte nicht hergestellt werden.'+#10#13#10#13+' Ursache: ' + mysql_error(_myCon)+#10#13#10#13+'Es kann sein, dass der DarkAge-Server zur Zeit nicht online ist. Meist ist das so, wenn Wartungsarbeiten im Laufen sind.'+#10#13+'Falls dieses Problem jedoch auftritt, wenn dies nicht der Fall ist und auch keine entsprechene Nachricht der Serveradministratoren gegeben wurde, dann kontaktieren Sie diesen, um Ihren Fehler behen zu können.'+#10#13+'Sinnvoll ist daher auch, im entsprechenden Forum zu suchen, ob andere Spieler dieselben Probleme haben.',mtError,[mbOK],0);
    result := false;
    Exit;
  end else begin
    // Die Verbindung steht!
    result := true;
  end;
end;
Wenn ich die Funktion ausführe im Programm (Parameter host = '192.168.100.222', also meine IP), dann will er nit.
MySQL-Server läuft, DB steht, aber nichts....

//EDIT:
Mmmh...
Also:
Var host = '192.168.100.222';

Wenn ich dann so mach:
ConnectToDB(_myCon,host) --- keine Verbindung
ConnectToDB(_myCon,'127.0.0.1') --- klappt...
ConnectToDB(_myCon,'localhost') --- klappt...

ABER WARUM???
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
19. Mär 2006, 07:35
Dieses Thema wurde von "Sharky" von "Sonstige Fragen zu Delphi" nach "Datenbanken" verschoben.
schwuppdi
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Kann nicht zur MySQL verbinden :(

  Alt 19. Mär 2006, 07:39
Hai Master_RC,

hat der Benutzer (mySQL-Account) mit dem Du dich anmeldest auch das recht sich von "aussen" mit dem mySQL zu verbinden?
Die Standardinstalltion ist meine ich zum Beispiel so das der User root sich nur vom localhost (root@localhost) aus verbinden kann!

localhost ist aber nicht der eigene Rechner (ja, ist er aber nicht wenn man die IPs auswertet). locolhost = 127.0.0.1
Wenn Du nun deine IP eingibst (192.168.100.222) ist das für den mySQL etwas anderes als localhost.

Lege einfach mal einen User an der sich von überall anmelden kann (test@%).
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Kann nicht zur MySQL verbinden :(

  Alt 22. Mär 2006, 16:11
Zitat von Sharky:
Hai Master_RC,

hat der Benutzer (mySQL-Account) mit dem Du dich anmeldest auch das recht sich von "aussen" mit dem mySQL zu verbinden?
Die Standardinstalltion ist meine ich zum Beispiel so das der User root sich nur vom localhost (root@localhost) aus verbinden kann!

localhost ist aber nicht der eigene Rechner (ja, ist er aber nicht wenn man die IPs auswertet). locolhost = 127.0.0.1
Wenn Du nun deine IP eingibst (192.168.100.222) ist das für den mySQL etwas anderes als localhost.

Lege einfach mal einen User an der sich von überall anmelden kann (test@%).
Mmmmh... also ich schätz mal, dass es genau so ist, hab jedoch grade keine Zeit zu probieren, aber ich schätze mal, dass es damit gelöst ist..

DANKE!
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 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