Datenbankzugriff auf externe Mysql DB

Status
Nicht offen für weitere Antworten.

seejay

Aktives Mitglied
Hallo,
p.s. benutze Netbeans
ich möchte auf eine Datenbank zugreifen, die auf einem Webserver liegt. Ich habe dazu folgenden Code:

Code:
        final String hostname = /URL ohne http://
        final String port = "3306"; 
        final String dbname = /DBNAME; 
        final String user = /DBUSER; 
        final String password = /DBPW; 

        try { 
            Class.forName( "org.gjt.mm.mysql.Driver" ).newInstance();
        } 
        catch (Exception e) { 
            System.err.println("Unable to load driver."); 
            e.printStackTrace(); 
        } 
        try {  

            conn = DriverManager.getConnection("jdbc:mysql://" + hostname + ":" + port + "/" + dbname, user, password);	    
            stmt = conn.createStatement();
        } 
        catch (SQLException sqle) { 
            System.out.println("SQLException: " + sqle.getMessage()); 
            System.out.println("SQLState: " + sqle.getSQLState()); 
            System.out.println("VendorError: " + sqle.getErrorCode()); 
            sqle.printStackTrace(); 
        } 
     }
bei einer Access DB auf dem Rechner hat es geklappt. Hier bekomm ich aber immer folgende Fehlermeldung:
SQLException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.UnknownHostException
MESSAGE: hostname

STACKTRACE:

java.net.UnknownHostException: hostname
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)

Muss ich da noch etwas einstellen oder hab ich etwas falsch gemacht?

Gruß
seejay
 

kleiner_held

Top Contributor
Der hostname ist anscheinend falsch. Wie die richtig Angabe lautet kann ich dir verstaendlicherweise nicht sagen, aber der Hostname muss in etwa so aussehen: java.sun.com, also keine URL sein.
 

seejay

Aktives Mitglied
komisch die adresse müsste stimmen.
subdomain.haupdomain.de
funktioniert aber net. könnte es noch wo anders dran liegen? bzw sind im code keine fehler?
 

kleiner_held

Top Contributor
Naja in deinem code machst du ja nicht viel mehr als den Treiber laden und die Verbindung herstellen.
Die Fehlermeldung ist an sich auch sehr eindeutig - UnknownHostException bedeutet dass er den hostnamen nicht aufloesen kann (keine IP Adresse dazu finden kann).
 

seejay

Aktives Mitglied
ok danke. Dachte vllt, dass man noch ne bibliothek laden müsste oder so, die für die auflösung der adresse zuständig ist. Also kann es nur noch an einem Fehler in der Domain oder Firewall/Portproblem liegen.
 

seejay

Aktives Mitglied
ah ich hab mich jetzt mal schlau gemacht, wir haben im Lan einen eigenen DNS Server und deshalb bekomm ich keine Verbindung. Gibt es ne Möglichkeit irgendwie aus dem Lan zu kommen? Oder dürfte ich mit der IP Adresse weiter kommen, wenn ich irgendwie dran komme?
 

seejay

Aktives Mitglied
habe es jetzt mit der IP adresse porbiert. aber dieser aufruf wird blockiert. Irgendwie hat da jede Subdomain die gleiche IP und über die IP kann man nicht drauf zu greifen auch nicht über einen Browser. Gibt es die Möglichkeit über nen Proxy zu gehen? oder wird des bereits automatisch gemacht? Es gibt doch viele Programme bei denen man den Port umstellen kann, würde dies auch noch gehen?
 

AlArenal

Top Contributor
seejay hat gesagt.:
habe es jetzt mit der IP adresse porbiert. aber dieser aufruf wird blockiert. Irgendwie hat da jede Subdomain die gleiche IP und über die IP kann man nicht drauf zu greifen auch nicht über einen Browser. Gibt es die Möglichkeit über nen Proxy zu gehen? oder wird des bereits automatisch gemacht? Es gibt doch viele Programme bei denen man den Port umstellen kann, würde dies auch noch gehen?

Es ist völlig egal welche Domain auf dem Server diegleiche IP hat. Das ist eine Webserverangelegenheit und die ist für deine Belange in diesem Fall unerheblich. Einzig interessant ist, ob der MySQL Server so konfiguraiert ist auf der IP zu lauschen, externe Verbindungen zu erlauben und ob der verwendete Benutzer in MySQL die erforderlichen Rechte hat sich von extern zur gewünschten DB zu verbinden.

Siehe MySQL Online Doku
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Shoox VPN-Verbindung für Datenbankzugriff Netzwerkprogrammierung 2
Rudolf Socket Externe IP holen und in Textfeld setzen Netzwerkprogrammierung 3
B FTP Externe Library von FTP-Server importieren Netzwerkprogrammierung 5
B Webstart + externe/lokale Plugins/JARS einbinden Netzwerkprogrammierung 10
Semox HTTP Webserver: Externe Dateien werden nicht verwendet. Netzwerkprogrammierung 10
M RMI lokal über externe IP geht nicht Netzwerkprogrammierung 5
E Problem bei Sockets/InputStream über externe Klasse Netzwerkprogrammierung 5
B RMI externe/interne ip problem Netzwerkprogrammierung 2
Z externe IP ermitteln Netzwerkprogrammierung 16
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
K MySQL Receiving Netzwerkprogrammierung 4
V Server / mehrere Clients / MySQL / Konzept Netzwerkprogrammierung 2
L Mit Java über PHP in MySQL anmelden (Login script) Netzwerkprogrammierung 3
R JDBC - Direktzugriff auf MySQL Netzwerkprogrammierung 15
B RMI & Mysql -> Fehler bei der Compilierung Netzwerkprogrammierung 4
B Netzwerkverkehroptimierung [mySQL SELECT] Netzwerkprogrammierung 5
B applets mit FTP/MySQL Netzwerkprogrammierung 22
D Offline App mit online MYSQL - DB verbinden Netzwerkprogrammierung 14
H Mysql port forwarding Netzwerkprogrammierung 5
T Java => Login mit MySQL Netzwerkprogrammierung 10
T HTTP Mysql Skript Netzwerkprogrammierung 3
R mehrere MySQL-Zugriffe Netzwerkprogrammierung 3
H MySQL übers Netzwerk Netzwerkprogrammierung 9
G Connection zu MySQL ohne ODBC Netzwerkprogrammierung 8
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
S Verbindung zu MySQL Netzwerkprogrammierung 10
G MySQL über Netzwerk --> Problem Netzwerkprogrammierung 13
S MySQL, PHP, Perl Support in einem Java HTTP Server? Netzwerkprogrammierung 7

Ähnliche Java Themen


Oben