#java #mysql #jdbc #database-connection #driver
#java #mysql #jdbc #подключение к базе данных #драйвер
Вопрос:
Я использую MySQL 5.5 с его настройками по умолчанию. Я создал пользователя / пароль и запустил скрипт, создающий базу данных под названием employees. Через командную строку я могу получить доступ к базе данных:
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=useramp;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 "nn");
}
}
Комментарии:
1. Вы загрузили драйвер JDBC? Вы ничего не упомянули о его получении. mysql.com/downloads/connector/j
2. Если он говорит, что не найден подходящий драйвер, значит, вашего драйвера jdbc нет, есть путь к классу. Если вы запускаете это на сервере приложений, то вам может потребоваться добавить драйвер в ваш каталог lib.
3. спасибо, это решило мою проблему! Я скачал его раньше, но, похоже, он устарел, поэтому я не стал его пробовать.
Ответ №1:
Убедитесь, что у вас есть Jar-файл драйвера Mysql в пути к классу, и проверьте документацию MySQL: http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html
Ответ №2:
Ошибка сообщает мне, что либо
- Драйвер ConnectorJ отсутствует в вашем пути к классам.
или - При использовании DriverManager системное свойство jdbc.drivers не было заполнено местоположением драйвера Connector / J.
или - Формат вашего URL-адреса подключения неверен, или вы ссылаетесь на неправильный драйвер JDBC. В вашем сценарии причиной проблемы, с которой вы столкнулись, является элемент списка # 1.
Я бы использовал что-то вроде приведенного ниже фрагмента кода для получения объекта connection.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
Connection conn = null;
...
try {
conn =
DriverManager.getConnection("jdbc:mysql://localhost/employees?"
"user=useramp;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());
}