Hallo!
der connect string ist dieser:
String url = "jdbc:mysql://81.209.100.06/DB55555?user=DB55555&password=password";Connection con = DriverManager.getConnection(url);
wobei ich das password und datenbanknamen geänder habe!aber der aufbau ist dieser!
die datenbank ist nicht auf meinem rechner!sondern auf meiner domain!
bist Du sicher dass die Datenbank überhaupt nach außen offen ist?
Versuche mal folgendes im der Eingabeaufforderung:
telnet 81.209.100.06 3306
Geht das? Von mir aus nicht. Versuche es mal mit dem Hostnamen, aber das wird vermutlich auch nicht gehen, da der vorher in die IP aufgelöst wird.
Wenn es funktioniert hast Du eine Verbindung zu MySQL, zumindest steht dann da _nicht_ "Verbinden Fehlgeschlagen".
beispiel: www.seite.de/mysqladmin
Verwechsele nicht die URL mit der JDBC-Schreibweise oben, das sind 2 grundverschiedene Dinge.
Was URLs sind steht hier: http://www.w3.org/Addressing/#terms
Die schreibweise von JDBC lehnt sich lediglich an diese Syntax an, macht damit aber was völlig anders, es ist lediglich eine einfache und einleuchtende Syntax eine DB-Resource zu beschreiben.
beispiel: www.seite.de/mysqladmin
Die Datenbank ist dort sicher nicht. Mag sein dass das der Pfad zu einem Administrationstool ist, aber die Datenbank ist ein eigenes Server-Programm, welches neben dem Webserver(den Du über obige URL erreichst) als Dämnonprozess läuft, und je nachdem lauscht sie evtl.(!) an Port 3306, dann kannst Du die Datenbank auch direkt per Java ansprechen.
Wenn die Datenbank aber nicht den Port 3306 abhört kannst Du Dich auf den Kopf stellen, dann werden nur Programme die auf demselben Rechner liegen wie die Datenbank selbst, sich mit dieser verbinden können(z.B. PHP oder JSP... je nachdem was verfügbar ist). Das ist eine Einstellungssache ob die DB nach außen erreichbar ist oder nicht. Die meisten Provider deaktivieren dies, um kein Sicherheitsrisiko einzugehen.
in mysqladmin ist die datenban die DB55555 heisst drin!!! und auf die habe ich zugegriffen!
Du hast es versucht. Ich kenen mich mit den Fehlermeldungen von JDBC nicht aus, ers hört sich zumindest so an als hättest Du Dich erfolgreich verbinden könnens, bist dann aber nicht akzeptiert worden. Ich bezweifele dagegen dass Du erfolgreich eine Verbindung herstellen konntest, ich gehe mal davon aus dass Du die Zugangsdaten korrekt angegeben hast.
die ip habe ich durch den ping von www.seite.de bekommen!!
Es ist durchaus möglich dass sich diese IP ändert, daher würde ich lieber den Hostnamen verwenden, der Rechner auf dem das Java-programm dann mal läuft wird dann ggfs. die IP per DNS-Abfrage heruasbekommen, das macht Dein Browser z.B. dauernd wenn Du auf neue Domainnamen gehst.
oder kann ich anstatt ip nur www.seite.de oder http://ww.seite.de eingeben?!
ersteres würde ich nehmen, http:// ist denke ich nicht erlaubt in der JDBC Syntax. Aber wie gesagt, teste per Telnet ob Du Dich überhaupt mit dem Server verbinden kannst:
Um den Unterschied zu sehen, versuche Dich mal mit dem Webserver zu verbinden:
telnet www.seite.de 80
Normalerweise bekommst Du dann ein leeres Terminal, da kannst Du dann einen HTTP-Request eingeben wie ihn ein Browser senden würde, z.B.:
GET / HTTP/1.0 [enter]
host: www.seite.de [enter]
[enter]
und danach mal mit dem MySQL-Server:
telnet www.seite.de 3306
Grüße
Andreas
PS: 3306 ist der Standardport für MySQL, evtl. wird ein anderer verwendet, auch wenn das ist eher unwahrscheinlich ist.