Datenbank: MySQL • Zugriff über: MySQL direct
MySQL direct - aber wie?
Hallo Leute, hab mal wieder eine Frage zum Thema Datenbanken und Delphi:
Ich habe vor, eine Software zu schreiben, mit welcher ich auf eine MySQL-Datenbank auf einem Server zugreifen kann. Dafür habe ich mir einen Test-Account bei einem Webhoster anlegen lassen, zu dem ich demnächst wechseln möchte. folgende Daten hat man mir gegeben (wurden allerdings abgeändert): Zitat:
Mit meinem lokalen WAMP bekomme ich das ganze ohne Probleme hin. Aber wie funktioniert das ganze nun mit einer Datenbank auf einem richtigen Server? Für die Connection wird folgender Code verwendet:
Delphi-Quellcode:
Jetzt ist die Frage, was ich wo eintragen muss :gruebel:
procedure TForm1.Button1Click(Sender: TObject);
begin // Eigenschaften setzen FMysql.Host := 'localhost'; FMysql.port := 3306; FMysql.user :=' user1'; FMysql.password := '1234'; FMysql.UnixSocket := ''; FMysql.Db := 'test'; // 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); end; Was muss ich bei FMysql.Host eintragen? Die URL des Webhosters? Oder die Domain meiner Website? Oder was ganz anderes? Denn irgendwo muss ich ihm ja angeben, wo die Datenbank liegt. Ich denke mal, bei FMysql.user muss "web12" und bei password "abcdefg" rein, oder? Ich hoffe, ihr könnt mir helfen. PS: Der Anbieter schreibt übrigens, dass externer Datenbank-Zugriff erlaubt ist und möglich sei |
Re: MySQL direct - aber wie?
Der Hostname ist normalerweise deine Domain, in diesem Fall also vermutlich mustermann.srv27.ffm.w-united.de. Die MySQL-Zugangsdaten findest du in der Confixx-Oberfläche, dort musst du ja auch eine Datenbank erst anlegen.
|
Re: MySQL direct - aber wie?
Zudem würde ich prüfen, ob der Provider einen Zugriff von aussen auch erlaubt.
|
Re: MySQL direct - aber wie?
Zitat:
|
Re: MySQL direct - aber wie?
Steht aber schon im Ausgangspost.
Zitat:
|
Re: MySQL direct - aber wie?
Also der Anbieter meint, dass der externe Datenbank-Zugriff erlaubt und auch aktiviert ist.
Aber er bringt mir leider einen Fehler :( Wenn ich "mustermann.srv27.ffm.w-united.de" als Host nehme, bringt er mir "Fehler beim Verbinden: Can't connect to MySQL Server on 'mustermann.srv27.ffm.w-united.de' (0)" Und wenn ich ich 'http://mustermann.srv27.ffm.w-united.de' nehme, bringt er mir "Fehler beim Verbinden: Unknown MySQL Server Host 'http://mustermann.srv27.ffm.w-united.de' (11004)" Und ich habe mal noch probiert, beim Host "www.webhost-united.de" (Webhoster) anzugeben, aber da bringt er mir dann "Fehler beim verbinden: Access denied for user 'web12'@'p4FD75302.dip.t-dialin.net' (using password: YES)" :( Hat irgendjemand eine Idee? Oder könnte ich vielleicht mal das kleine Test-Programm anhängen und jemandem die entsprechenden Daten geben und mir geht jemand ein wenig zur Hand? :( Weil ich hier gerade echt nicht weiter weiß :( |
Re: MySQL direct - aber wie?
Hi!
Kann es sein, dass die Datenbank auf einem anderen Server liegt? So ist das z.B. bei 1&1 meistens. Die Infos dazu solltest du aber in deiner Konfigurationspberfläche finden... Ciao, Frederic |
Re: MySQL direct - aber wie?
Ich gebe zu, jetzt bin ich verwirrt :?
Auf MySQL-Datenbanken wird ja standardmäßig über Port 3306 zugegriffen. War mir nun nicht sicher, ob der Port nur auf dem Server freigegeben sein muss oder auch lokal beim Anwender, wisst ihr da was? Habe auf jeden Fall mal probeweise in der Kaspersky-Firewall und im Router den Port 3306 freigegeben und siehe da: es funktionierte :-D Wollte dann mal prüfen, wo es denn hängen bleibt und habe den Regel-Eintrag in Kaspersky wieder rausgenommen, ging immer noch. Aber danach habe ich auch die Port-Regel im Router wieder gelöscht und es geht immer noch :gruebel: Ich habe quasi den Ausgangszustand wiederhergestellt, mit dem feinen Unterschied, dass es jetzt funktioniert :wiejetzt: Aber das kann doch an sich nicht sein, oder? Hat jemand eine Erklärung dafür? Denn es ist zwar gut, dass es jetzt klappt, aber die Software soll später an einige andere Leute weitergegeben werden und ich habe ja jetzt keine Ahnung, ob es dann bei denen auch klappen wird :wall: Und vor allem ist es doof, wenn jeder neue Nutzer den Port freigeben müsste. Weil es auch gut sein kann, dass die Software mal an einen Mausschupser kommt, der nicht weiß, wo er den Port öffnen kann. Wisst ihr, wie ich den Port aus der Software heraus öffnen kann? Ist das überhaupt möglich? Bzw. muss der Port 3306 für diesen Zugriff überhaupt lokal geöffnet werden? Denn jetzt sind alle Port-Regeln dafür wieder raus und es geht immer noch :| Bah, macht mich das schon wieder fertig -.-' |
Re: MySQL direct - aber wie?
Wenn jedes Programm mal eben nach Lust und Laune Ports öffnen könnte, bräuchte man ja auch keine Firewall mehr. Du könntest aber im Falle, dass keine Verbindung zustande kommt, eine entsprechende Meldung ausgeben.
|
Re: MySQL direct - aber wie?
Hi!
Port 3306 ist doch der, auf dem der Server "lauscht" oder? Also müsste der serverseitig freigegeben sein - sonst geht da gar nix. Aber lokal müsstest du den imho nicht freigeben. Ciao, Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 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