Plötzlich keine Verbindung zur Datenbank mehr möglich

raptorrs

Aktives Mitglied
Moin Zusammen!
Ich bin leider völlig verzweifelt, weil ich seit ein paar Tagen keine Verbindung mehr zu meiner Datenbank herstellen kann. Die Angelegenheit lief bis dahin stets fehlerfrei.
Die Datenbank liegt auf C:/xampp/mysql/data und heisst: Eierlei2.
Die Methode, die die Exception wirft, heisst:

[CODE lang="java" title="DB-Verbindungsaufbau"]

private Db() throws ClassNotFoundException, SQLException
{
Properties props = PropertyLoader.get();
String driverName = props.getProperty("db.driver");
System.out.println("In Db ist DriverName = "+driverName);
System.out.println("In Db ist DB.URL = "+props.getProperty("db.url"));
loadDatabaseDriver(driverName);
printAllDrivers();
connection = DriverManager.getConnection(props.getProperty("db.url"));
// connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/Eierlei2", "root", "root") ;
System.out.println("In Db ist DB.Connection = "+connection);
}[/CODE]

Die Exception lautet:
Communication Link Failure
The last packet sent successfully to the server was 0 milliseconds ago. The Driver has not recieved any packets from the server.

Das Configuraion.Properties File lautet:
[CODE lang="java" title="Configuraion.properties"]# ResourceBundle properties file
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://192.168.2.106:3306/eierlei2
user=root&password=root&autoReconnect=true&useSSL=false[/CODE]

Benutze ich die oben auskommentierte Zeile für die Connection, kommt die Exception:
Access denied for user 'root'@'localhost' (using password:YES)

Über phpmyadmin kann ich die Datenbank wunderbar erreichen.

Ich bitte Euch ganz dringend um Hilfe, ich habe keine Ideen mehr.

Besten Dank im Voraus!!
raptorrs
 
Dann prüf einmal die Login-Daten. Die Fehlermeldung:
Access denied for user 'root'@'localhost' (using password:YES)
ist ja recht eindeutig - das sieht also danach aus, dass der root@localhost account entweder ein anderes Passwort hat oder eben anderweitig nicht zugänglich ist.
 
Ich habe mal phpmyadmin die Rechte zu dieser DB angeschaut. Leider kann ich das Ergebnis nicht wirklich interpretieren :-(
Unbenannt.JPG
 
Wenn es den User root gibt, wird das Passwort vermutlich einfach nicht "root" sein.

Besser wäre vermutlich, den Benutzer eierlei2 zu verwenden.

Zum Code selbst: in den Properties gehst Du gegen irgendeine IP-Adresse, im Code gegen localhost. Außerdem ist in der DB-URL in den Properties der DB-Name in Kleinbuchstaben angegeben, während im Code der erste groß ist.
 
Gross- und Kleinschreibung machen keinen Unterschied. Ich habe extra zwei verschiedene Connects in der Methode, damit ich hin- und her probieren kann. Der User Eierlei2 oder eierlei2 ergibt auch nix Brauchbares.
Dann habe ich in Netbeans unter Services noch mal nachgeschaut:

Unbenannt.JPG

Da gibt es offensichtlich irgendwo keine Verbindung.
Rechtsclick und dann Start ergibt :
MySQL konnte nicht gestartet werden
und ein MySQL Server Properties Fenster poppt auf. Da kann ich aber auch nur ein Password eingeben. Egal, was ich da eingebe, das Fenster poppt immer wieder auf.
 
Hab ich schon probiert. Istalles das gleiche.
Wenn ich oben auf den mySQL server (Disconnected) einen Rechtsclick mache und verbinden anwähle, kommt dieses Bildchen:
Unbenannt.JPG
Kann es sein, dass da irgendetwas im Classpath eingetragen werden muss? Und wenn ja, wie man so etwas?
Wenn ich auf Edit my MySQL connection properties clicke, kann ich eingeben was ich will, nix funktioniert.
 
# ResourceBundle properties file
db.driver=com.mysql.jdbc.Driver
Das ist auch völlig veraltet, evtl. wurde ein Update der DB eingespielt und jetzt funktioniert der Uralt-Treiber nicht mehr.
Welche Version hat die DB und welche der Treiber?
Normalerweise registriert sich der Treiber selbst, aktuell wäre das com.mysql.cj.jdbc.Driver.. Treiber selbst zu laden oder selbst zu registrieren dürfte normalerweise gar nicht mehr nötig sein.
 
Wenn ich oben auf den mySQL server (Disconnected) einen Rechtsclick mache und verbinden anwähle, kommt dieses Bildchen:
OK, das ist eine andere Baustelle. Da fehlt wohl der JDBC-Treiber. Schau mal unter Drivers in die Properties, welches Jar dort eingetragen ist und ob das auch tatsächlich existiert. Danach Rechtsklick auf den Treiber, den du angeschaut hast -> New Connection (das ist nur grob skizziert, hab NB grad nicht zur Hand).
 
Das ist ja genau das Problem. In dem letzten Bildchen steht ja, dass der com.mysql,cj.jdbc.Driver nicht geladen werden kann. Die Frage ist: Wieso??
Hier mal ein paar Versionshinweise:
Unbenannt.JPG
Ich habe kein Ahnung, wo ich den Treiber finden soll, geschweige denn seine Versionnummer :-(
 
In meinem Netbeans-Projekt ist im Ordner Libraries ein Jar-File mit einem SQL-Connector beigefügt. Damit lief das Programm bis vor ein paar
Tagen supergut. Die Jar wird anscheinend nicht mehr gefunden. Wenn ich im dist-ordner nachschaue, ist die Jar auch im Lib-Verzeichnis vorhanden.
Unbenannt.JPG
 
Langsam, das sind zwei völlig verschiedene Dinge. In Kommentar #13 geht es um Dein Projekt, in #5 und #7 um NetBeans.

Mein Vorschlag wäre, erstmal via NetBeans eine Verbindung herzustellen und dann den Spaß in das Projekt zu übernehmen.

Daher beziehe ich mich mal auf den Screenshot aus #5. An der gezeigten Stelle auf MySQL (Connector/J driver) einen Rechtsklick machen. Dort Properties (o. ä.) aufrufen, und nachschauen, welches Jar dort verwendet wird und ob dieses Jar auch existiert.
 
Hallo, Ihr Lieben!
ich habe es hinbekommen. Ich weiss zwar nicht wieso, aber die folgende Zeile ist der Winner:
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/Eierlei2", "root", "") ;
Ich habe einfach das Password ausgelassen.
Nochmals herzlichen Dank für Eure Teilname!!!
 

Zurück
Oben