Hi!
Lasse ich das ganze auf meinem eigenen Server laufen (Applet & Datenbank) funktioniert alles einwandfrei.
Damit kann man aussagen, dass MySQL prinzipiell läuft. Eine Aussage zu richtigen Benutzernamen und Passwörtern lässt sich damit nicht machen, denn MySQL wertet als dritten Parameter noch den Host aus, von dem die Anfrage kommt. Das heißt, dass für einen erfolgreichen Connect in der Rechteverwaltung eine Kombination aus Nutzer, Passwort und dem anfragenden Host (% als Jokerzeichen ist möglich) vorhanden sein muss.
Lade ich das Applet auf einen anderen Server, behalte jedoch meinen MySQL Server bei, führt das zu follgender Fehlermeldung:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Das ist doch kein Javascript-Code. Warum zeichnest du den Text als solchen aus? Der Meldungstext ist recht allgemein. Eventuell gibt es eingeschachtelte Exceptions, die einen genaueren Text ergeben. Jedenfalls ist für einen erfolgreichen Connect abgesehen von Löchern in Firewall noch notwendig, dass MySQL auch auf externe Verbindungswünsche reagiert. Welcher Port ist konfiguriert? Standard ist 3306. Es muss also mit
netstat -plant
ein Eintrag mit 0.0.0.0:3306 im lokalen Teil zu finden sein, der auf Listen steht. Ebenfalls richtig wäre die externe IP-Adresse des Servers, aber nicht 127.0.0.1. Eventuell sind andere Optionen für das netstat anzugeben. Benötigt wird n für numerische Ausgabe (keine Auflösung in Host- und Servicenamen) und a für alles (nicht nur stehende Verbindungen sondern auch lauschende Ports). (Ich seh grad, das l ist überflüssig, aber so kann ich mir die Parameter besser merken.)
Eigentlich will man keinen offenen Datenbankserver, weswegen er von guten Admins so eingestellt wird, dass keine Verbindungen möglich sind.
Lo!