Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kann nicht zur MySQL verbinden :( (https://www.delphipraxis.net/65628-kann-nicht-zur-mysql-verbinden.html)

Master_RC 19. Mär 2006 00:03


Kann nicht zur MySQL verbinden :(
 
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???

DP-Maintenance 19. Mär 2006 06:35

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Sonstige Fragen zu Delphi" nach "Datenbanken" verschoben.
schwuppdi

Sharky 19. Mär 2006 06:39

Re: Kann nicht zur MySQL verbinden :(
 
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@%).

Master_RC 22. Mär 2006 15:11

Re: Kann nicht zur MySQL verbinden :(
 
Zitat:

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! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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