Не найден подходящий драйвер для jdbc.mysql - PullRequest
0 голосов
/ 03 октября 2018

Я студент, изучающий курс Java, и я был озадачен ошибкой, которую не могу исправить.

Ошибка, как упоминалось выше,

No suitable driver found for jdbc.mysql

У меня естьимпортировав библиотеку и указав ее в коде, я также попробовал множество решений, размещенных пользователями на stackoverflow, и пока ничего.Если у кого-либо есть какие-либо дополнительные предложения, помощь будет принята с благодарностью.

Мой код

(мне пришлось изменить конфигурационный файл сервера Xampp для прослушивания порта 8080, потому что 80 был занят PID4 "Система")

public class DBConnect {

  String DB_URL = "jdbc.mysql://localhost:3306/phpmyadmin/BCStationary?";

  public DBConnect() throws ClassNotFoundException {
    Connection conn = null;

    try {
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      Class.forName("com.mysql.jdbc.Driver");
      conn = DriverManager.getConnection(DB_URL, "root", "");
      System.out.println("Connection Successful");
    } catch (SQLException ex) {
      System.out.println("Conn error ");
      Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
    }
  }
}

Ответы [ 3 ]

0 голосов
/ 03 октября 2018

Class.forName("com.mysql.jdbc.driver"); должно предшествовать DriveManager.registerDriver.

DriveManager.registerDriver также не нужно использовать.

Вы можете просто использовать свой метод:

  public DBConnect() throws ClassNotFoundException {
    Connection conn = null;

    try {
      //Call to .newInstance() is a work around for some
      // broken java instances.
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      conn = DriverManager.getConnection(DB_URL, "root", "");
      System.out.println("Connection Successful");
    } catch (SQLException ex) {
      System.out.println("Conn error ");
      Logger.getLogger(DBConnect.class.getName()).log(Level.SEVERE, null, ex);
    }
  }

Если вы используете последние версии драйверов mysql (mysql)-разъем 8.0) класс com.mysql.cj.jdbc.Driver

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-connect-drivermanager.html

0 голосов
/ 03 октября 2018
 try{
    Class.forName("com.mysql.jdbc.Driver");
       Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306  /dbname","UserName","Password");

     }catch(Exception e){e.printStackTrace();}

    please add mysql-3.0.5-connector jar  file
   there is not required to registerDriver and other 
0 голосов
/ 03 октября 2018

В вашем URL есть опечатка, которая не соответствует стандартному протоколу.

Использование:

"jdbc:mysql://localhost:3306/..."

(обратите внимание на двоеточие вместо точки между jdbc и mysql).

Примечания

  • Вам не нужен знак вопроса в конце, если вы не используете параметры.Но вам понадобятся либо свойства, либо GET-подобные параметры, если ваша база данных требует аутентификации и т. Д.
  • Я не уверен насчет части phpmyadmin.Я подозреваю, что вам нужно удалить это и указать на имя вашей базы данных напрямую.
  • Вам не нужно явно регистрировать драйвер.В Java <= 6 вам все равно понадобится рефлексивный вызов <code>Class.forName.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...