Verbindung zu SQL-Datenbank auf einem Server

Einklang.

Bekanntes Mitglied
Hallo,

ich komm an einer Stelle nicht weiter:
Eine Verbindung zu einer Datenbank auf einem Server aufbauen.

Habe folgenden Code:
Java:
public void createDBConnection()
    {
    try
        {
        Class.forName("com.mysql.jdbc.Driver");
        dbconnection = DriverManager.getConnection("jdbc:mysql://www.domain.de:3306/datenbank","benutzer","passwort");
        }
    catch(SQLException ex)
        {
        System.out.println("SQL-Exception beim Anlegen der DBConnection:"+ex.getMessage());
        }
    catch(ClassNotFoundException ex)
        {
        System.out.println("ClassNotFoundException beim anlegen der DBConnection:"+ex.getMessage());
        } 
    }

Dann kommt die Fehlermeldung dass keine Verbindung aufgebaut werden konnte:

Java:
public void testconnectionDB(DefaultTableModel defaultTableModel)
    {
    if(dbconnection==null)
    {
        System.out.println("Abfrage nicht möglich, Connection ist null");
        System.out.println(dbconnection);
        return;
        }
    try.........

Ich habe schon Programme installiert gehabt, die eine Verbindung zur Datenbank aufgenommen haben und von dort die Daten ausgelesen und auf die Festplatte kopiert haben.

Nur weiß ich jetzt nicht wo ich nach dem Fehler suchen sollte....!

besten Dank
 
S

SlaterB

Gast
zur Sicherheit als erstes direkt nach der Zeile
> dbconnection = DriverManager.getConnection ..
schauen ob dbconnection da null ist,

eine erfolgreiche Ausgabe noch im try bestätigt auch, dass keine Exception auftritt, oder anderenfalls deren Information posten
 

Einklang.

Bekanntes Mitglied
zur Sicherheit als erstes direkt nach der Zeile
> dbconnection = DriverManager.getConnection ..
schauen ob dbconnection da null ist,

eine erfolgreiche Ausgabe noch im try bestätigt auch, dass keine Exception auftritt, oder anderenfalls deren Information posten

Ok ich hab darunter jetzt erst eine Ausgabe und eine if-Abfrage gesetzt:

Java:
System.out.println(dbconnection);
if (dbconnection==null){
        	System.out.println("Verbindung ist leider nicht vorhanden");
        }
        else {
        	System.out.println("Verbindung sollte funktionieren");
        }

Die Ausgabe zeigt nichts an und es wird keine von beiden Anweisungen ausgegeben...... entweder hab ich die if-Abfrage falsch gemacht oder naja keine Ahnung... die Methode wird gar nicht verarbeitet.... :)!



Nachtrag - ich hab noch eine Ausgabe mit String eingebaut und dieser wird auch nicht angezeigt - die Methode scheint nicht verarbeitet zu werden.......!
 
Zuletzt bearbeitet:
S

SlaterB

Gast
das Programm beginnt mit einer main, dort muss die erste Zeile eine Ausgabe sein, etwa 'Hello World',
wenn die fehlt, dann weiter zu überlegen,
ansonsten aber bei allen Programmen langsam vortasten, bis zum Aufruf der Methode, zu Beginn dieser und anderer Methoden usw.,
überall Ausgaben,
oder Debugger
 

Einklang.

Bekanntes Mitglied
Ja das Ding ist ja ich hab zwei Datenbankverbindungen - eine zu ner lokalen SQL und diese neue zu einer Datenbank bei nem Host aufm Server.

Das Ding ist, dass die erste Verbindung wohl immer aktiv ist und von mehreren anderne Methoden genutzt wird! Ist bisher gar nicht aufgefallen...!
 

Einklang.

Bekanntes Mitglied
ok hab rausgefunden dass eine Verbindung gleich am Start aufgerufen wird, hab das geändert und rufe die Verbindung einzeln auf in der Methode die dann Daten verarbeitet.

Jetzt funktioniert es auch mit beiden Verbindungen!
 
M

MySQLSecurity

Gast
Sorry wenn ich mal so direkt frage, aber bei welchem Provider hast du die Datenbank das du dich von außen connecten kannst ? Und dann noch auf Standard-Port oder Crypto/Zertifikate ? Sieht mir nach nem ziemlich schlechten Provider aus der von Sicherheit scheinbar überhaupt keine Ahnung hat. Von daher wäre es wirklich mal interessant zu wissen was mit "www.domain.de" gemeint ist, weil den Provider will ich mir auch mal geben. Ein Anbieter der sich um die Sicherheit seiner Kunden-Daten überhaupt keine Platte macht und dafür wahrscheinblich sogar noch Kohle verlangt. Man kann echt aus S*****e Gold machen.
 
S

SlaterB

Gast
nicht dass ich da Details wüßte, aber was genau verlangst du mehr an Sicherheit?
ein anderer Port wäre schon ein Gewinn?
die DB ist doch durch Benutzer/ Passwort so normal geschützt wie alles im Internet, auch der geheime Geheimdienst-Login? ;)
 
M

MySQLSecurity

Gast
Es geht erstmal grundsätzlich darum das die Datenbank überhaupt direkt von außen erreichbar ist.
Wie in vielen anderen Themen diskutiert sollte man WebServices verwenden. Dadurch kann man dann auch die Datenbank so konfigurieren das nur Verbindungen von localhost zugelassen werden. Und den WebService kann man dann über SSL laufen lassen. Das wäre zumindest ein Anfang.
Oder wenn es halt unbedingt direkter Zugang sein muss dann auf jeden Fall anderen Port (das einzige was man auf "default-port" laufen lassen sollte wäre HTTP), zusätzlich natürlich via SSL gesichert und auf jeden Fall mit Client-Zertifikat, denn "nur" durch User/Passwort erweckt bei mir nicht so das Sicherheitsgefühl.
Und das sind so Sicherheitsrelevante Punkte die man in der heutigen Zeit dann doch schon mal im Hinterkopf behalten sollte. Außerdem gibt das (ja mitlerweile auch breitgetretene) Thema : Login-Daten in User-Software. Das ist ein absolutes NO-GO und verlangt ja nach einem WebService wodurch es eh hinfällig wird direkt zur DB zu connecten.

Also ich weis zwar nicht wie es dir und anderen geht, aber bei solch gravierenden Sicherheitsmängeln würde ich mir sicherlich keine Datenbank beim (leider nicht genannten) Provider holen.
 
S

SlaterB

Gast
gerade Java laufen zu lassen ist doch vergleichsweise selten bei einfachen billigen Webservern,
und dass nun die vorgeschaltete Anwendung sicherer ist, geschieht auch nicht von selber ohne entsprechende Kenntnisse,
zudem viel zu kompliziert

das klingt so als sollte man sein Fahrrad in eine extra Tiefgarade plus eigens angestellen Pförtner mit Ausweiskontrolle stellen,
statt nur per Zahlenschloss in 3 sec standard-gesichert ;)

für ein großes Unternehmen kann man sich solche Späße erlauben,
wenn man aber testweise die Technologien kennenlernt, ist das bisschen übertrieben, oder?

wobei Einklang. durchaus kommerziellen Hintergrund hat, wenn ich mich recht erinnere/ zurückblicke
 

Plopo

Bekanntes Mitglied
Vielleicht noch eine kleine Anmekrung nebenbei.
Sollte dein Programm öffentlich verbreitet werden ist es eine leichtigkeit, mittels Decompilern, an deinen Code zu kommen.
Somit könnte (fast) jeder die Daten deiner DB auslesen (da diese im Quellcode stehen (Benutzername, Passwort, etc.)).

Für so etwas ist es besser die DB über eine PHP-Datei zu verwalten und nur via URL-Aufruf mit der DB zu kommunizieren (Sachen auslesen).

Solltest du auch Daten in die DB schreiben wollen (mittels Java) weis ich nicht genau wie man dies sicher, über URL-Aufruf, gestalten kann.
 
K

Kohlrübe1423

Gast
Vielleicht noch eine kleine Anmekrung nebenbei.
Sollte dein Programm öffentlich verbreitet werden ist es eine leichtigkeit, mittels Decompilern, an deinen Code zu kommen.
Somit könnte (fast) jeder die Daten deiner DB auslesen (da diese im Quellcode stehen (Benutzername, Passwort, etc.)).

Für so etwas ist es besser die DB über eine PHP-Datei zu verwalten und nur via URL-Aufruf mit der DB zu kommunizieren (Sachen auslesen).

Solltest du auch Daten in die DB schreiben wollen (mittels Java) weis ich nicht genau wie man dies sicher, über URL-Aufruf, gestalten kann.

Warum ist nur der Schreibzugriff zu sichern?
Wie sichert du den PHP-Lese-Zugriff ab? Daten kann jeder rausholen?

Mit PHP wird eine unsichere Lösung mit der nächsten vertauscht.
 
M

MySQLSecurity

Gast
Warum ist nur der Schreibzugriff zu sichern?
Wie sichert du den PHP-Lese-Zugriff ab? Daten kann jeder rausholen?

Mit PHP wird eine unsichere Lösung mit der nächsten vertauscht.

Nahh ... da würde ich so nicht mitgehen.
Begründung : man muss erstmal den Aufbau einer halbwegs korrekten URL kennen um überhaupt an irgendetwas zu kommen. Und das kann man schon sehr kompliziert machen. Es ist also schon sicherer anstatt wie bereits erwähnt die Daten direkt im Client stehen zu haben (das habe ich übrigens ganz oben schon erwähnt).

Zum "sichern" der Schreibzugriffe : auf jeden fall kann man manipulierte Anfragen entschärfen und so SQL-Injections großteils verhindern. Wenn diese Kontrolle nur von der Software übernommen wird und man diese aushebelt hat man keine "letzte Sicherheit" mehr.

Ein WebService macht hier also durch aus sinn. Verstehe daher dein "beides genau so unsicher" überhaupt nicht !
 

Plopo

Bekanntes Mitglied
Wie sichert du den PHP-Lese-Zugriff ab? Daten kann jeder rausholen?
Mit PHP wird eine unsichere Lösung mit der nächsten vertauscht.

Naja im Falle einer News App. Ist es mir recht schnuppe ob der User die URl in den Browser eingibt und einen JSON-String ausgegeben bekommt oder ob er es grafisch-aufbereitet in der App sieht.
Beim auslesen von Nutzerdaten/Passwort etc. sollte man eh auf einen Webservice zurückgreifen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X SSH Verbindung zu Remote Datenbank Netzwerkprogrammierung 2
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
D Verbindung zu Geräten mit gleicher IP aber in unterschiedlichen VLans aufbauen Netzwerkprogrammierung 2
M Socket Socket lehnt Verbindung ab Netzwerkprogrammierung 3
IAmFloppy Socket Nachstellen der Verbindung Netzwerkprogrammierung 6
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
S Bluetooth Verbindung zwischen Android app und Raspberry Pi 3 Netzwerkprogrammierung 1
S Peer2Peer Verbindung trotz NAT Netzwerkprogrammierung 2
T VPN-Verbindung über Java Netzwerkprogrammierung 4
Aruetiise Socket Verbindung Überprüfen Netzwerkprogrammierung 18
F Socket Verbindung mit Verschlüsselung und Authentifierzung Netzwerkprogrammierung 1
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
U Client Soap Verbindung wieder schließen Netzwerkprogrammierung 0
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
P Socket Socket-Verbindung Input sehr langsam Netzwerkprogrammierung 1
S FTP Verbindung zu einem BS2000 Großrechner mit Commons Net Netzwerkprogrammierung 0
F Einfache Socket Verbindung Netzwerkprogrammierung 2
F Verbindung zwischen Server und handy Netzwerkprogrammierung 1
M TCP Verbindung Byte-weise lesen? Netzwerkprogrammierung 5
Shams Problem mit Eventbus in Verbindung mit Server Netzwerkprogrammierung 0
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
F TCP Client, verbindung aufrecht halten Netzwerkprogrammierung 0
I Swing hängt sich auf bei Verbindung zum Server Netzwerkprogrammierung 3
P RMI Hohe CPU Last RMI Verbindung Netzwerkprogrammierung 4
J Pc - Handy Verbindung? Netzwerkprogrammierung 3
M Socket 2x Proxy multithread-server mit Cross Verbindung Netzwerkprogrammierung 0
T Verbindung zum Server fehlgeschlagen Netzwerkprogrammierung 7
D Einfache Verbindung zu Linux Server und Datei auslesen Netzwerkprogrammierung 13
B Nach Verbindung gleich ObjectStream empfangen Netzwerkprogrammierung 1
R Dauerhaft offene Socket-Verbindung? Netzwerkprogrammierung 3
P server - client verbindung (anfänger) Netzwerkprogrammierung 8
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
S Socket Socket Verbindung wiederherstellen Netzwerkprogrammierung 16
T Socket Bidirektionale Verbindung mit Sockets Netzwerkprogrammierung 8
N (TCP) Verbindung ohne Portforwarding Netzwerkprogrammierung 12
N Lan-Verbindung erstellen Netzwerkprogrammierung 2
H Socket Java Chat - Verbindung zum Server fehlgeschlagen. Netzwerkprogrammierung 5
A TCP über UDP Verbindung? Netzwerkprogrammierung 10
D TCP Verbindung (Java Client und Visual Basic Server) Netzwerkprogrammierung 12
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
V NullPointerException bei Verbindung zu RabbitMQ-Server Netzwerkprogrammierung 4
B FTP commons net verschlüsselte verbindung Netzwerkprogrammierung 11
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
T Socket Client versucht zyklische Verbindung zum Server Netzwerkprogrammierung 4
X Über eine Socket-Verbindung Arrays übergeben Netzwerkprogrammierung 5
P Socket Verbindung über das Internet Netzwerkprogrammierung 2
A Socket Socket Verbindung unterbrochen --> keine Exception Netzwerkprogrammierung 7
S SVNKit - Verbindung zum Repository trennen? Netzwerkprogrammierung 2
P Socket neuer Client - neue(r) Socket/Verbindung geöffnet? Netzwerkprogrammierung 6
M Problem mit Socket-Verbindung Netzwerkprogrammierung 2
S TCP Verbindung zu Beamer Netzwerkprogrammierung 8
Y server client socket verbindung übers internet aufbauen Netzwerkprogrammierung 8
M ganymed-ssh2.har: ftp-Verbindung über ftp-Proxy Netzwerkprogrammierung 2
D Verbindung zw. zwei Rechnern funzt nicht Netzwerkprogrammierung 5
F Socket Socket Verbindung Netzwerkprogrammierung 10
E Server schließt einfach verbindung? Netzwerkprogrammierung 6
Shoox VPN-Verbindung für Datenbankzugriff Netzwerkprogrammierung 2
X Socket Handy/PC Verbindung unterscheiden Netzwerkprogrammierung 18
O Telnet verbindung Netzwerkprogrammierung 4
Dit_ UDP Verbindung durch Proxy Netzwerkprogrammierung 4
H Socket Client server,verbindung läst sich nicht abbauen&code optimierung Netzwerkprogrammierung 3
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
M HTTP HTTPS-Verbindung mittels Java und Javascript Netzwerkprogrammierung 2
N Verbindung zu Fritzbox Socket/Telnet ??? Netzwerkprogrammierung 5
multiholle RMI Verbindung Linux <-> Windows Netzwerkprogrammierung 4
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
S SSH Verbindung mit j2ssh Netzwerkprogrammierung 3
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
H Socket Socket verbindung mit einem TeamSpeak2 Server Netzwerkprogrammierung 5
H TCP verbindung hinter NAT Netzwerkprogrammierung 28
G TCP SSL Verbindung Netzwerkprogrammierung 3
P Java / My-Sql Verbindung herstellen Netzwerkprogrammierung 6
W Socket Shellscript über ssh Verbindung aufrufen Netzwerkprogrammierung 14
N Socket Verbindung wird immer verweigert Netzwerkprogrammierung 5
Dit_ UDP-Verbindung, DatagramPakete Netzwerkprogrammierung 3
S Socket verbindung trennen Netzwerkprogrammierung 3
D Verbindung zu einem Server - POST Netzwerkprogrammierung 2
musiKk SSL-Verbindung mit Client-Zertifikat (Private Key) scheitert Netzwerkprogrammierung 13
D Socketprogrammierung Verbindung C++=>Java Netzwerkprogrammierung 23
B Probleme mit FTP verbindung Netzwerkprogrammierung 22
T Mac Adresse über Socket Verbindung abfragen? Netzwerkprogrammierung 9
L SSL Verbindung aber Server wird erst im Programm festgelegt Netzwerkprogrammierung 4
L Https Verbindung wird aus jar heraus nicht aufgebaut Netzwerkprogrammierung 12
M Verbindung über Proxy// Problem mit Outputstream bei URLConn Netzwerkprogrammierung 5
O TCP Socket-Verbindung überprüfen Netzwerkprogrammierung 4
F Peer to Peer Verbindung zwischen mehreren Clients? Netzwerkprogrammierung 8
F applet verbindung zum server Netzwerkprogrammierung 6
T Verbindung über das Internet Netzwerkprogrammierung 2
G Verbindung zwischen PC und Handy Netzwerkprogrammierung 10
B Bibliothek, um Eckdaten zur Internet-Verbindung rauszufinden Netzwerkprogrammierung 2
C Verbindung zwischen 2 Computern herstellen Netzwerkprogrammierung 12
G USB-Verbindung herstellen Netzwerkprogrammierung 3
O SSH-Verbindung (trilead-ssh2-build212) Netzwerkprogrammierung 2
K Verbindung mit Unix Server aufnehmen Netzwerkprogrammierung 2
J close() Socket Verbindung nötig ? Netzwerkprogrammierung 3
U problem mit verbindung zu einem irc server Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben