![]() |
MySql Connection
Liste der Anhänge anzeigen (Anzahl: 1)
Servus, ich hab heute versucht eine connection mit einem mysql server herzustellen. Hierfür verwende ich die mysqllib.dll, kekapselt durch eine mysql.pas
Mein code schaut wie folgt aus:
Delphi-Quellcode:
In der markierten zeile bleibt er immer hängen, was mach ich falsch ? Ich benutzte Delphi 2009, falls das irgendwas mit der zeichenencodierung zu tun hat.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, mysql, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var _myCon: PMySQL; //unseren Verbindungsdeskriptor host, user, pass, db: PAnsiChar; //die Anmeldedaten begin //wir werden uns als Root-Benutzer in localhost einloggen, ohne eine //bestimmte Datenbank auszuwählen host := 'XX.XXX.XX.XX'; user := 'root'; pass := ''; db := '697_datenbank'; //jetzt wird _myCon initialisiert _myCon := mysql_init(nil); if _myCon = nil then begin ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren'); Exit; end; //anschließend wird die Verbindung hergestellt if mysql_real_connect(_myCon, host, user, pass, db, 3306, nil, 0) = nil then //HIER begin ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(_myCon)); Exit; end; ShowMessage('Verbindung hergestellt'); //zum Schluss wird die Verbindung wieder geschlossen mysql_close(_myCon); end; procedure TForm1.FormCreate(Sender: TObject); begin libmysql_fast_load(nil); end; end. MfG - Ghost007 [edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit] |
Re: MySql Connection
Hi,
was heißt bleibt hängen? Geht's einfach nicht weiter? Kommt eine Fehlermeldung? Edith: Wo liegt der Server? Hast Du exklusiven Zugriff auf diese Datenbank? |
Re: MySql Connection
Zitat:
Der server gehört zu meinem webspace und liegt irgendwo im internet. Zugriff sollte ich von daher eigentlich schon exklusiven haben, so wie ich das sehe. MfG - Ghost007 |
Re: MySql Connection
Das kommt immer drauf an wer deinen Webspace hostet.
Bei manchen hast du Zugriff, bei anderen nicht. Frag mal nach bei deinem Hoster. |
Re: MySql Connection
Zitat:
MfG - Ghost007 //Edit: Okay, hab jetzt kurzerhand einfach einen lokalen server aufgesetzt. Jetzt meint er "Client does not support authentication protocol requested by server; consider upgrading mysql client. |
Re: MySql Connection
Nur wenige Hoster erlauben den externen DB-Zugriff von einem Privat-PC aus.
Dass deine MySQL-Datenbank und deine Scripte auf unterschiedlichen Servern liegen, hat damit nichts zu tun. Damit du extern auf eine MySQL-DB zugreifen kannst, muss dein Hoster auf dem Server den Port 3306 öffnen. In deinem Fall (PHP-Scripte und DB auf getrennten Servern) wird dieser Port zwar offen sein, allerdings wird der Zugriff auf bestimmte statische IPs beschränkt sein, das heißt, dein Hoster hat einige IPs angegeben, die extern auf die DB zugreifen dürfen. Und deine vermutlich dynamische IP gehört da wohl nicht dazu. Frag also einfach mal bei deinem Hoster nach, ob es möglich ist, von dynamischen IPs aus auf die MySQL-DB zu connecten, denn niemand sonst wird dir das sagen können. Und wenn nicht - dann hast du ein Problem, daran kann man dann wenig ändern. |
Re: MySql Connection
Ob du Zugriff auf deinen Server hast lässt sich ganz leicht mit telnet testen.
Eingabeaufforderung öffnen und dann:
Code:
Also entweder erscheint diese Meldung "Verbinden fehlgeschlagen" oder es erscheint ein schwarzer Bildschirm, dann konnte die Verbindung hergestellt werden.
C:\> telenet x.x.x.x 3306
Verbindungsaufbau zu x.x.x.x...Es konnte keine Verbindung mit dem Host hergestel lt werden, auf Port 3306: Verbinden fehlgeschlagen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 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