Не удалось получить соединение JDBC - PullRequest
0 голосов
/ 14 декабря 2018

Я делаю простой тестовый файл сотрудника в затмении.Но это показывает ошибку Не удалось получить соединение JDBC.Пожалуйста, помогите мне.

Ошибка

Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client

XML-файл

<?xml version="1.0" encoding="UTF-8"?>
<bean
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"
    name="dataSource" p:driverClassName="com.mysql.jdbc.Driver"
    p:url="jdbc:mysql://localhost/mydb" p:username="root"
    p:password="banjit" />
<bean class="org.springframework.jdbc.core.JdbcTemplate"
    name="jdbcTemplate" p:dataSource-ref="dataSource" />

Java-код

public class Test {
    public static void main(String[] args) {
        ApplicationContext context =new ClassPathXmlApplicationContext("com/banjit/spring/springjdbc/refconfig.xml");
        JdbcTemplate jdbcTemplate = (JdbcTemplate) context.getBean("jdbcTemplate");
        String sql = "insert into employee values (?,?,?)";
        int result = jdbcTemplate.update(sql, new Integer(1), "Banjit","Das");
        System.out.println("Numbers of records inserted  "+result);
    }
}

1 Ответ

0 голосов
/ 14 декабря 2018

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

1) Чтобы подключиться к серверу с помощью клиентской программы до 4.1, используйте учетную запись, которая все еще имеет пароль в стиле до 4.1.

2) Сбросьте пароль до стиля до 4.1 для каждого пользователя, которому необходимо использовать клиентскую программу до 4.1.Это можно сделать с помощью инструкции SET PASSWORD и функции OLD_PASSWORD ():

mysql> SET PASSWORD FOR
    -> 'user'@'host' = OLD_PASSWORD('new_password');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...