AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySQL direct - aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL direct - aber wie?

Ein Thema von Exterior · begonnen am 10. Apr 2009 · letzter Beitrag vom 12. Apr 2009
Antwort Antwort
Seite 1 von 3  1 23      
Exterior

Registriert seit: 24. Jun 2008
33 Beiträge
 
#1

MySQL direct - aber wie?

  Alt 10. Apr 2009, 01:20
Datenbank: MySQL • Zugriff über: MySQL direct
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:
Kunde: web12
Passwort: abcdefg

Die Webseite ist über folgende Testdomain zu erreichen:
http://mustermann.srv27.ffm.w-united.de

Mit den Zugangsdaten können Sie sich in Confixx, der Accountverwaltung, einloggen: http://srv27.ffm.w-united.de
Den Zugriff wollte ich nun mit MySQL-direct implementieren, anhand dieses Tutorials.

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:
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;
Jetzt ist die Frage, was ich wo eintragen muss
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.369 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 01:31
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 11:37
Zudem würde ich prüfen, ob der Provider einen Zugriff von aussen auch erlaubt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 11:40
Zitat von mkinzler:
Zudem würde ich prüfen, ob der Provider einen Zugriff von aussen auch erlaubt.
Denn genau dies gestatten nicht alle.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 12:22
Steht aber schon im Ausgangspost.
Zitat:
PS: Der Anbieter schreibt übrigens, dass externer Datenbank-Zugriff erlaubt ist und möglich sei
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Exterior

Registriert seit: 24. Jun 2008
33 Beiträge
 
#6

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 15:27
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ß
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 15:30
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
Frederic Kerber
  Mit Zitat antworten Zitat
Exterior

Registriert seit: 24. Jun 2008
33 Beiträge
 
#8

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 16:11
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
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

Ich habe quasi den Ausgangszustand wiederhergestellt, mit dem feinen Unterschied, dass es jetzt funktioniert

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

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 -.-'
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.546 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 16:15
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: MySQL direct - aber wie?

  Alt 10. Apr 2009, 16:16
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
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 03:35 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