2016-04-09 4 views

Antwort

3

Sie könnten dies mit port forwarding tun, können Sie ssh to setup a tunnel verwenden. Es ist also nicht nötig, ein Java-Server-Programm zu schreiben.

Der letzte Link haben ein Beispiel für Ihr genaues Problem, obwohl es eine Verbindung zu einer PostgreSQL-Datenbank herstellt, übersetzte ich diese Informationen zu MySQL unten.


Ein Beispiel hierfür ist, wenn Sie an eine Datenbank-Konsole anschließen müssen, die aus Sicherheitsgründen lokale Verbindung erlaubt nur. Sagen wir, Sie laufen MySQL auf dem Server, der standardmäßig auf dem Port 3306.

$ ssh -L 9000:localhost:3306 [email protected] 

Der Teil, der hier geändert lauscht, ist die localhost: 3306, die Verbindungen von Ihrem lokalen weiterleiten sagt Port 9000 zu localhost: 3306 auf Ihrem Server. Jetzt können wir uns einfach mit unserer Datenbank verbinden.

$ mysql -h localhost -p 9000 

sollten Sie jetzt Ihre lokale Java-jdbc-Programm mit der URL jdbc:mysql://localhost:9000/dbname und es wird in die entfernte Datenbank der Lage sein, eine Verbindung getunnelt werden, die Ihre getunnelte Verbindung als lokale Verbindung sehen würde.

+0

oh ye ich vergaß geschrieben .... das Problem ist, die DB ist auf einem kostenlosen Webspace-Anbieter, den ich für den Test meiner Apps verwenden möchte. also kann ich keine Änderungen in der db-Konsole machen – Newbster

+0

Der letzte Absatz ist darüber, wie man von Java verbinden. Ich werde die Antwort aktualisieren, um das klarer zu machen – gustf

+0

thx für diese Antwort. Vielleicht besser erklären mit dem Namen des Anbieters. Diese Art https://www.bplaced.net/ erlaubt diese externe Verbindung nicht. Extern bedeutet "Verbindung c = DriverManager.getConnection (" jdbc: mysql: //username.bplaced.net: 3603/dbname "," Benutzername "," Passwort ");" Es funktioniert nicht. Ich habe jetzt einen anderen Anbieter gefunden, aber trotzdem. wenn nicht zu viele für dich arbeiten, wäre es interessant, wie man arbeitet, denn der Provider hat mir gesagt, ob die Java-Datei auf dem Server ist, als es mit diesem localhost funktioniert, aber wenn nicht wie? (Entschuldigung für schlechte Englisch Grammatik. Ich hoffe, Sie können verstehen) – Newbster