не найден подходящий драйвер, вызывающий getConnection - PullRequest
0 голосов
/ 11 апреля 2011

Я использую MySQL 5.5 с настройками по умолчанию. Я создал пользователя / пароль и запустил скрипт, создающий базу данных под названием сотрудников. Через командную строку я могу получить доступ к базе данных:

mysql -u user -p
SELECT * FROM employees

В моем приложении Java я не могу подключиться. Я пробовал эти URL, а также другие, но ничего не работает:

"jdbc:mysql://localhost/employees" "user" "password"
"jdbc:mysql://localhost:3306/employees" "user" "password"
"jdbc:mysql:///employees?user=user&password=password"

Вот соответствующий код:

public Main()
{
    try {
        connection = DriverManager.getConnection(url);
        //connection = DriverManager.getConnection(url, user, password);
        // I don't know what else to try
    } catch (SQLException ex) {
        System.out.print(ex + "\n\n");
    }
}

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Убедитесь, что у вас есть jar драйвера Mysql в пути к классам и проверьте документацию MySQL: http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html

0 голосов
/ 11 апреля 2011

Ошибка говорит мне, что либо

  • ConnectorJ драйвер не в вашем classpath.ИЛИ
  • При использовании DriverManager системное свойство jdbc.drivers не заполняется расположением драйвера Connector / J.ИЛИ
  • Неверный формат URL-адреса вашего соединения, или вы ссылаетесь на неправильный драйвер JDBC.В вашем сценарии именно пункт списка № 1 является причиной проблемы, с которой вы столкнулись.

Я бы использовал что-то вроде приведенного ниже фрагмента кода, чтобы получить объект соединения.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

Connection conn = null;
...
try {
conn =
   DriverManager.getConnection("jdbc:mysql://localhost/employees?" +
                               "user=user&password=password");

 // Do something with the Connection

 ...
 } catch (SQLException ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
...