Hibernate, JDBC, Mysql, не удается войти в базу данных - PullRequest
0 голосов
/ 14 декабря 2011

Когда я соединяюсь с этим кодом на моем Linux (Ubuntu 11.10) с MySQL версии 5.1, он работает нормально, но когда я хочу запустить свое приложение на Windows OS (Windows 7 с MySQL 5.5), он вызывает исключение:

org.hibernate.exception.GenericJDBCException: Cannot open connection

В обоих случаях я заходил на локальный хост. Я попытался войти в систему от имени пользователя root. У меня есть полная уверенность, что это был правильный пароль. Я пытался настроить все права на нового пользователя, но это было то же исключение. Другой вариант, который я попробовал, состоял в том, что я ловлю GenericJDBCException, и программа дает мне это:

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

Я подключаюсь к базе данных программно (через Hibernate AnnotationConfiguration):

annotationConfiguration = new AnnotationConfiguration();
annotationConfiguration.setProperty("hibernate.hbm2ddl.auto", "create");

// add annotatedClasses
annotationConfiguration.addAnnotatedClass(X.class);

annotationConfiguration.setProperty("hibernate.dialect", "net.sf.hibernate.dialect.MySQLDialect");
annotationConfiguration.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
annotationConfiguration.setProperty("hibernate.connection.url", "jdbc:mysql://" + host + ":3306/" + database);
annotationConfiguration.setProperty("hibernate.connection.username", userName);
annotationConfiguration.setProperty("hibernate.connection.password", password);
annotationConfiguration.setProperty("hibernate.connection.release_mode", "auto");
//annotationConfiguration.setProperty("hibernate.query.factory_class", "org.hibernate.hql.classic.ClassicQueryTranslatorFactory");
if (StaticConstants.DEBUG) {
    annotationConfiguration.setProperty("hibernate.show_sql", "true");
} else {
    annotationConfiguration.setProperty("hibernate.show_sql", "false");
}
annotationConfiguration.configure();
sessionFactory = annotationConfiguration.buildSessionFactory();
sessionFactory.close();

Я использую Hibernate версии 3.6.7, но я протестировал его на Hibernate 3.6.8 через класс Configuration, и это был тот же результат.

Так что мой вопрос: есть ли у кого-то такая же проблема и решить ее, или у кого-нибудь есть идеи, чтобы решить ее?

Спасибо

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Сначала попробуйте войти в mysql, установленный на win 7, из командной строки. Откройте командную строку. Переместите в папку bin установки mysql.

C: \ mysql \ bin> mysql.exe -u root -p

Над строкой появится запрос пароля. Введите пароль и посмотрите, сможете ли вы войти правильно

1 голос
/ 14 декабря 2011

проверьте свои учетные данные.Ваш пароль пользователя root неверен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...