Ошибка подключения баз данных MySQL в Android Studio (сбой канала связи)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка подключения баз данных MySQL в Android Studio (сбой канала связи)

Сообщение Anonymous »


Я пытаюсь подключить базу данных MuSQL к Android Studio и обнаружил ошибку.

Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов от сервера. W com.mysql.cj.jdbc.Exceptions.CommunicationsException: сбой канала связи Вт W Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов от сервера. W в com.mysql.cj.jdbc.Exceptions.SQLError.createCommunicationsException(SQLError.java:174) W в com.mysql.cj.jdbc.Exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) W в com.mysql.cj.jdbc.ConnectionImpl.createNewIO (ConnectionImpl.java:815) W в com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:438) W в com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) W в com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:189) W в java.sql.DriverManager.getConnection(DriverManager.java:580) W в java.sql.DriverManager.getConnection(DriverManager.java:218) W в com.example.drivingschool.DatabaseHandler.getDbConnection(DatabaseHandler.java:18) W в com.example.drivingschool.DatabaseHandler.getUser(DatabaseHandler.java:35) W в com.example.drivingschool.MainActivity$LoginTask.doInBackground(MainActivity.java:98) W в com.example.drivingschool.MainActivity$LoginTask.doInBackground(MainActivity.java:87) W в android.os.AsyncTask$3.call(AsyncTask.java:394) W в java.util.concurrent.FutureTask.run(FutureTask.java:264) W в android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305) W в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) W в java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) W в java.lang.Thread.run(Thread.java:1012) W Вызвано: com.mysql.cj.Exceptions.CJCommunicationsException: сбой канала связи. Вт W Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов от сервера. W в java.lang.reflect.Constructor.newInstance0 (собственный метод) W в java.lang.reflect.Constructor.newInstance(Constructor.java:343) W в com.mysql.cj.Exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) W в com.mysql.cj.Exceptions.ExceptionFactory.createException(ExceptionFactory.java:104) W в com.mysql.cj.Exceptions.ExceptionFactory.createException(ExceptionFactory.java:149) W в com.mysql.cj.Exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:165) W в com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:88) W в com.mysql.cj.NativeSession.connect(NativeSession.java:120) W в com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:935) W в com.mysql.cj.jdbc.ConnectionImpl.createNewIO (ConnectionImpl.java:805) W ... еще 15 W Вызвано: java.net.ConnectException: не удалось подключиться к localhost/127.0.0.1 (порт 3306) из /:: (порт 51300): ошибка подключения: ECONNREFUSED (Соединение отклонено) W в libcore.io.IoBridge.connect(IoBridge.java:187) W в java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142) W в java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390) W в java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230) W в java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212) W в java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436) W в java.net.Socket.connect(Socket.java:646) W в com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) W в com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) W ... еще 18 W Вызвано: android.system.ErrnoException: не удалось подключиться: ECONNREFUSED (Соединение отклонено) W в libcore.io.Linux.connect (собственный метод) W в libcore.io.ForwardingOs.connect (ForwardingOs.java:201) W в libcore.io.BlockGuardOs.connect(BlockGuardOs.java:158) W в libcore.io.ForwardingOs.connect (ForwardingOs.java:201) W в libcore.io.IoBridge.connectErrno (IoBridge.java:201) W в libcore.io.IoBridge.connect(IoBridge.java:179) В... еще 26 Моя конфигурация подключения, которую я использовал:

конфигурация общедоступного класса { защищенная строка dbHost = «localhost»; защищенная строка dbPort = «3306»; защищенная строка dbUser = «корень»; защищенная строка dbPass = "****"; protected String dbName = "driveschooldb"; } обработчик базы данных, который я использовал для подключения к моей базе данных:

пакет com.example.drivingschool; импортировать java.sql.Connection; импортировать java.sql.DriverManager; импортировать java.sql.PreparedStatement; импортировать java.sql.SQLException; импортировать java.sql.ResultSet; общедоступный класс DatabaseHandler расширяет конфигурацию { Соединение dbConnection; public Connection getDbConnection() выдает ClassNotFoundException, SQLException { String ConnectionString = "jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName; Class.forName("com.mysql.cj.jdbc.Driver"); пытаться { dbConnection = DriverManager.getConnection(connectionString, dbUser, dbPass); System.out.println("Подключение к базе данных успешно установлено"); } catch (SQLException e) { System.out.println("Ошибка при подключении к базе данных: " + e.getMessage()); бросить е; } вернуть БДСоединение; } //войти в приложение public ResultSet getUser (пользователь-пользователь) { ResultSet resSet = null; String select = "SELECT * FROM" + константа.USER_TABLE + "ГДЕ" + константа.USERS_LOGIN + "=? И" + константа.USERS_PASSWORD + "=?"; пытаться { ReadedStatement prSt = getDbConnection().prepareStatement(select); prSt.setString(1, user.getLogin()); prSt.setString(2, user.getPassword()); resSet = prSt.executeQuery(); } catch (SQLException | ClassNotFoundException e) { е.printStackTrace(); } окончательно { если (dbConnection!= ноль) { пытаться { БДСоединение.закрыть(); } catch (SQLException e) { е.printStackTrace(); } } } вернуть resSet; } } Здесь я использовал mysql-connector-j-8.3.0 для подключения к базе данных, а также установил класс для драйвера. Кроме того, я использую MySQL Workbench 8.0. Я подключил все библиотеки и установил эту библиотеку в градл. Также мой класс MainActivity, где должно было произойти соединение:

// Класс для выполнения сетевой операции в фоновом режиме класс LoginTask расширяет AsyncTask { частное исключение исключения; protected Boolean doInBackground(String... params) { // Получение логина и входа из параметров Строковое имя пользователя = параметры [0]; Строковый пароль = параметры[1]; // Опыт входа в систему с помощью базы данных пытаться { DatabaseHandler dbHandler = новый DatabaseHandler(); // Создание экземпляра DatabaseHandler ResultSet resSet = dbHandler.getUser(новый пользователь(имя пользователя, пароль)); // Использование экземпляра для вызова метода getUser if (resSet != null && resSet.next()) { // Успешный вход в систему вернуть истину; } еще { // Неверные учетные данные вернуть ложь; } } catch (SQLException e) { это.исключение = е; вернуть ложь; } } protected void onPostExecute (логический результат) { // Этот метод запускает поток после завершения фоновой задачи если (результат) { // Успешный вход в систему Toast.makeText(MainActivity.this, "Авторизация успешна!", Toast.LENGTH_SHORT).show(); // Создание намерения для перехода на новую страницу Намерение намерение = новое намерение (MainActivity.this, SecondActivity.class); // Запуск намерения startActivity (намерение); заканчивать(); // Завершить текущую активность } еще { если (this.Exception != null) { // Было добавление с базой данных Toast.makeText(MainActivity.this, "Ошибка базы данных: " + this.Exception.getMessage(), Toast.LENGTH_SHORT).show(); } еще { // Неверные учетные данные Toast.makeText(MainActivity.this, "Неверный вход или пароль" , Toast.LENGTH_SHORT).show(); } } } } } Я пробовал изменить адрес привязки в my.ini на свой IPv4-адрес и на 0.0.0.0 (безрезультатно). У меня также отключен брандмауэр, поэтому проблем с ним быть не должно. Возможно проблема в самой ссылке на подключение, но в плагине DB Navigator подключение по этой же ссылке работает нормально. А возможно, ошибка кроется в другом, но эти методы не принесли результата.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»