SQL ODBC Verbindung / Externer Zugriff

PEASANT KING

Commander
Registriert
Okt. 2008
Beiträge
2.412
Ich hoffe ich bin hier nicht im falschen Forum ansonsten bitte verschieben.

Es geht um folgendes ich habe einige Datenbanken bei Hosteurope, nun habe ich nicht immer Lust über phpMyAdmin die Datenbanken zu konfigurieren erweitern was auch immer.

Nun versuchte ich es per HeidiSQL bekomme aber keine Verbindung.
Externer Zugriff ist eingerichtet und die Verbindungsdaten stimmen auch.

Dann habe ich mir in Java ein kleines Tool geschrieben um die Verbindung zu testen, bekomme dort jedoch eine ganz andere Fehlermeldung.

Access denied for ODBC@localhost

Bei HeidiSQL lautet die Fehlermeldung SQL Error[2005] unknown SQL Server ...
Ich verstehe das nicht so ganz da die Zugangsdaten vollkommen korrekt sind.

Egal ob über mein kleines Javatool oder HeidiSQL es funktioniert nicht.

Jemand eine Idee ?

Grüße DJ
 
du hast nich "localhost" als Datenbankserver angegeben, oder?^^

wenn ja: probiers mal mit der URL deines Servers, ev. reicht das schon...
 
Ich gehe mal davon aus, dass er den Port per SSH tunnelt. Allein aus Sicherheitsgründen.
 
Natürlich habe ich nicht den Server als localhost angegeben, so beschränkt bin ich nun doch nicht ;)

localhost / addresse-des-servers.de
So soll es laut Hosteurope sein...
 
Wenn du was direkt auf deinem webserver ausführst, dann liegt die db auch lokal -> localhost. nun hast du aber heidisql / dein java test prog auf deinem rechner, du musst also die adresse des servers angeben. nur um das nochmal als fehlerquelle auszuschließen.
 
Wie schon einen Post vorher geschrieben die Serveraddresse lautet: "localhost / wpXX.webpack.hosteurope.de
und genauso habe ich es auch eingetragen.
Mir ist schon klar das localhost nicht funktionieren würde -.-

Ich finde den Fehler einfach nicht vorallem meldet mir mein Java Programm was ich geschrieben habe "access denied" und HeidiSQL meldet "unknown server"
Ich bin auch nochmal die FAQ's in Hosteurope durchgegangen und habe es genauso durchgeführt...
 

Anhänge

  • hosteurope.png
    hosteurope.png
    19,3 KB · Aufrufe: 271
Zuletzt bearbeitet:
edit:
achso externe zugriffe hast schon eingestellt

post mal deinen java sql connection string
dadrin ist nicht die zeichenkette "localhost" enthalten, oder?


hast schon deren support angeschrieben?
 
Zuletzt bearbeitet:
Ja habe ich es funktioniert nicht mal wenn ich die IP des Servers verwende.

Ich habe mehr oder minder den Fehler entdeckt, danke das du mich darauf aufmerksam gemacht hast.

jdbc:mysql://wpXXX.webpack.hosteurope.de:3306/dbXXXXXX-XXXX
Irgendwie wird das Passwort und der Benutzer nicht übermittelt, aber woran das liegt weiß ich nicht.

PHP:
public final class DBConnector {
    
    private static Connection conn = null;
    private long time = System.currentTimeMillis();
    
    public DBConnector(String hostname, String port, String dbname, String user, String password) throws IOException, SQLException {
        
        try {
            //Laden des Datenbanktreibers
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();  
            System.out.println("Datenbanktreiber erfolgreich geladen!");
        } 
        catch(Exception e) { 
            BufferedWriter output = new BufferedWriter(new FileWriter("sqlErrorLog.txt",true));
            output.write(e.getStackTrace()+ " "+e.getMessage()+"\r\n" );
            output.close();
            System.out.println("Treiber konnte nicht geladen werden!");
        }
        try {
            //Verbindung mit der Datenbank aufnehmen
            String url = "jdbc:mysql://"+hostname+":"+port+"/"+dbname; 
            conn = DriverManager.getConnection(url, user, password);
            System.out.println("Verbindung zur Datenbank erfolgreich aufgebaut!");
        }
        catch(Exception e) {
            BufferedWriter output = new BufferedWriter(new FileWriter("sqlErrorLog.txt",true));
            output.write(new Date(time) +" " + new Time(time) + " " + e.getStackTrace()+ " "+e.getMessage()+"\r\n" );
            output.close();
            System.out.println("Es konnte keine Verbindung zur Datenbank hergestellt werden!");
        }
        System.err.println("Fehler entnehmen Sie bitte der SQLErrorLog.txt");
    }
}

und der Aufruf in der Main:

PHP:
public class SKSSync {

    private static DBConnector connect;
    
    
    public static void main(String[] args) throws IOException, SQLException {
        DBConnector connect = new DBConnector("wpXXX.webpack.hosteurope.de","3306","dbXXXXXXX-XXXXX","dbuXXXXX","XXXXX");
    }
}
 
Zuletzt bearbeitet:
möglicherweise ist einfach der ODBC Zugriff von ausserhalb des Hoster Netzwerks nicht möglich bzw wird geblockt. Damit das klappt muss man i.d.R. Ports speziell freigeben, am DB Server und an der Firewall.
Am besten mal den Support fragen - dann weisst Du es.
 
Zuletzt bearbeitet:
Ein altes Überbleibsel aus einem anderen Projekt.

Passiert wenn man Copy/Paste benutzt, macht aber keinen Sinn hast recht.

@DonnyDepp

Das verbinden mit meinem Lokalen MySQL Server funktioniert ohne Probleme
aber ich schreib es mal um.
 
Zurück
Oben