web-dev-qa-db-fra.com

Aucun pilote adéquat n'a été trouvé pour 'jdbc: mysql: // localhost: 3306/mysql

En utilisant Java, j'obtiens cette erreur en essayant de vous connecter à une base de données mysql:

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)

J'utilise le pilote mysql-connector-Java-5.1.18-bin.jar. C'est dans mon chemin de build. J'ai redémarré MySQL. Je me suis également connecté depuis la ligne de commande avec root sans mot de passe et tout s'est bien connecté. Je ne vois pas actuellement de port 3306 dans Netstat. Auparavant, j'avais une erreur différente (je n'ai pas changé le code). L'erreur était "Accès jdbc mysql refusé pour l'utilisateur 'root' @ 'mot de passe localhost NON"

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();
}
47
user994165

Dans ce cas particulier (en supposant que la Class#forName() n'a pas généré d'exception; votre code continue à courir en cours d'exécution à la place de projection l'exception), this SQLException signifie que Driver#acceptsURL() a retourné false pour tout des pilotes chargés.

Et en effet, votre URL JDBC est fausse:

String url = "'jdbc:mysql://localhost:3306/mysql";

Supprimer la citation unique:

String url = "jdbc:mysql://localhost:3306/mysql";

Voir également:

42
BalusC

Vous devez définir classpath pour mysql-connector.jar

Dans Eclipse, utilisez le chemin de construction 

Si vous développez une application Web , vous devez placer mysql-connector dans le dossier lib de WEB-INF Répertoire de votre application Web 

22
prashant kumar

Lorsque vous utilisez Netbean, allez dans l'onglet Projet et cliquez sur le bouton déroulant pour sélectionner le dossier Bibliothèques. Cliquez avec le bouton droit de la souris sur le dossier d Library et sélectionnez 'Add JAR/Folder'. Localisez le fichier mysql-connectore-Java. * . Jar où vous l'avez sur votre système . Cela a fonctionné pour moi et j'espère que ça le fera pour vous aussi.

9
chibuzo nnonyelu

Cette erreur m’est arrivée, ce sera généralement un problème car je n’ai pas inclus le fichier mysql-connector.jar dans votre projet Eclipse (ou votre IDE). 

Dans mon cas, c'était à cause d'un problème sur le système d'exploitation. 

J'étais en train de modifier une table dans phpmyadmin, et mysql bloqué, j'ai redémarré Ubuntu. J'ai nettoyé le projet sans succès. Ce matin, après avoir essayé le serveur Web, cela fonctionne parfaitement la première fois.

Lors du premier redémarrage, le système d'exploitation a reconnu l'existence d'un problème et, après le second, il a été corrigé. J'espère que cela fera gagner un peu de temps à quelqu'un qui "pourrait" avoir ce problème!

Une erreur typographique dans la chaîne décrivant le pilote de base de données peut également générer l'erreur.

Une chaîne spécifiée comme:

"jdbc:mysql//localhost:3307/dbname,"usrname","password"

peut entraîner une erreur "aucun pilote approprié trouvé". Les deux points suivants "mysql" sont manquants dans cet exemple.

La chaîne de pilote correcte serait:

jdbc:mysql://localhost:3307/dbname,"usrname","password"
2
Karthick

(Si votre URL est correcte et que vous obtenez toujours le message d'erreur messege) Suivez les étapes suivantes pour configurer le Classpath dans netbeans,

  1. Créez un nouveau dossier dans votre espace de travail et ajoutez le fichier .jar téléchargé (par exemple: - mysql-connector-Java-5.1.35-bin.jar).
  2. Cliquez avec le bouton droit de la souris sur votre projet> propriétés> bibliothèques> ADD jar/folder Sélectionnez le fichier jar dans le dossier que vous venez de créer. Et cliquez sur OK.

Vous verrez maintenant que le fichier .jar sera inclus dans les bibliothèques. Vous n'aurez plus besoin d'utiliser la ligne Class.forName ("com.mysql.jdbc.Driver"); également.

Si la méthode ci-dessus n'a pas fonctionné, vérifiez la version de mysql-connector (par exemple: - 5.1.35) et essayez-en une version plus récente ou plus appropriée.

0
Malith

j'ai eu le même problème, je résous ce problème en utilisant si jsp est en train de mettre mysql connetor dans WEB-INF-> lib dossier après avoir mis cela dans Eclipse clic droit et passer build-path -> configurer build patha dans l'onglet bibliothèque ajouter un fichier jar externe fichier donne l'emplacement où le dossier lib est 

0
hunter

Je dis simplement ma résolution: dans mon cas, les bibliothèques et les projets n’ont pas été ajoutés automatiquement au classpath (je ne sais pas pourquoi), même en cliquant sur l’option "add to build path". Alors je suis allé courir -> exécuter les configurations -> classpath et ajouter tout ce dont j'avais besoin par là.

0
Mr Guliarte