Bei Verwendung von Java wird diese Fehlermeldung angezeigt, wenn Sie versuchen, eine Verbindung zu einer MySQL-Datenbank herzustellen:
Java.sql.SQLException: No suitable driver found for
jdbc:mysql://localhost:3306/mysql at
Java.sql.DriverManager.getConnection(Unknown Source)
at Java.sql.DriverManager.getConnection(Unknown Source)
at MyTest1.main(MyTest1.Java:28)
Ich verwende den mysql-connector-Java-5.1.18-bin.jar
-Treiber. Es ist in meinem Build-Pfad. Ich habe MySQL neu gestartet. Ich habe mich auch von der Kommandozeile aus mit root und ohne Passwort angemeldet und es hat sich gut angeschlossen. Im Moment sehe ich keinen Port 3306 in netstat. Zuvor erhielt ich einen anderen Fehler (ich habe den Code nicht geändert). Der Fehler war "jdbc mysql Zugriff verweigert für Benutzer 'root' @ 'localhost Kennwort NEIN"
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
String url = "jdbc:mysql://localhost:3306/mysql";
Connection con = DriverManager.getConnection(url, "root", "");
}
catch (Exception e){
e.printStackTrace();
}
In diesem speziellen Fall (vorausgesetzt, dass Class#forName()
keine Ausnahme ausgelöst hat; Ihr Code wird also statt mit throw der Ausnahme ausgeführt), bedeutet diese SQLException
, dass Driver#acceptsURL()
false
für jeden der zurückgegeben hat geladene Treiber.
Und tatsächlich ist Ihre JDBC-URL falsch:
String url = "'jdbc:mysql://localhost:3306/mysql";
Entfernen Sie die Singlequote:
String url = "jdbc:mysql://localhost:3306/mysql";
Sie müssen classpath für mysql-connector.jar einstellen.
Verwenden Sie in Eclipse den Pfad build.
Wenn Sie eine Web-App entwickeln, müssen Sie mysql-connector im Ordner lib von WEB-INF des Verzeichnisses Ihrer Web-App ablegen
Wechseln Sie bei Verwendung von Netbean zur Registerkarte "Projekt" und klicken Sie auf die Dropdown-Schaltfläche, um den Bibliotheksordner auszuwählen. Klicken Sie mit der rechten Maustaste auf den Ordner d Library und wählen Sie 'JAR/Folder hinzufügen'. Suchen Sie die mysql-connectore-Java. * .jar-Datei, wo Sie sie auf Ihrem System haben .. Dies hat für mich funktioniert und ich hoffe, dass es auch für Sie funktioniert. Wenn Sie auf ein Problem stoßen, machen Sie das bitte rückgängig
Dieser Fehler ist mir passiert. Im Allgemeinen ist dies ein Problem, da die mysql-connector.jar nicht in Ihrem Eclipse-Projekt (oder Ihrer IDE) enthalten ist.
In meinem Fall lag es an einem Problem mit dem Betriebssystem.
Ich habe gerade eine Tabelle in phpmyadmin bearbeitet, und mysql hing, ich habe Ubuntu neu gestartet. Ich habe das Projekt ohne Erfolg gereinigt. Wenn ich heute morgen den Webserver ausprobiert habe, funktioniert er beim ersten Mal perfekt.
Beim ersten Neustart erkannte das Betriebssystem, dass ein Problem aufgetreten war, und nach dem zweiten wurde es behoben. Ich hoffe, dass dies jemandem Zeit erspart, der dieses Problem "haben könnte"!
Ein Tippfehler in der Zeichenfolge, die den Datenbanktreiber beschreibt, kann den Fehler ebenfalls verursachen.
Eine Zeichenfolge, angegeben als:
"jdbc:mysql//localhost:3307/dbname,"usrname","password"
kann zu einem Fehler "Kein passender Treiber gefunden" führen. Der Doppelpunkt hinter "mysql" fehlt in diesem Beispiel.
Die richtige Treiberzeichenfolge wäre:
jdbc:mysql://localhost:3307/dbname,"usrname","password"
(Wenn Ihre URL korrekt ist und immer noch diese Fehlermeldung angezeigt wird.) Führen Sie die folgenden Schritte aus, um den Klassenpfad in netbeans einzurichten.
Nun sehen Sie, dass die .jar-Datei in die Bibliotheken aufgenommen wird. Jetzt müssen Sie nicht die Zeile Class.forName ("com.mysql.jdbc.Driver") verwenden. ebenfalls.
Wenn die oben beschriebene Methode nicht funktioniert hat, überprüfen Sie die Version des mysql-Connectors (z. B .: - 5.1.35) und versuchen Sie es mit einer neueren oder einer für Sie geeigneten Version.
ich hatte das gleiche Problem. Ich habe das Problem behoben, wenn ich Jsp entwickle. Mysql Connetor in den Ordner " WEB-INF-> Lib " setzen, nachdem in Eclipse mit der rechten Maustaste geklickt wurde Geben Sie den Speicherort der lib-Datei an
Ich sage nur meine Auflösung: In meinem Fall wurden die Bibliotheken und Projekte nicht automatisch zum Klassenpfad hinzugefügt (ich weiß nicht warum), sogar wenn Sie auf die Option "Zum Buildpfad hinzufügen" klicken. Also bin ich auf run -> run configuration -> classpath gegangen und habe dort alles hinzugefügt, was ich brauchte.