Почему я не могу подключиться к своей базе данных MySQL?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему я не могу подключиться к своей базе данных MySQL?

Сообщение Anonymous »

У меня на компьютере есть база данных, фото прилагается.
но при попытке подключения через андроид приложение вылетает. Код подключения прилагается, что я делаю не так?
Изображение

Код: Выделить всё

private val url = "jdbc:mysql://localhost:3306/db_sql"
private val username = "root"
private val passwordUrl = "XXX"

private fun getConnection(): Connection {
Class.forName("com.mysql.jdbc.Driver")
return DriverManager.getConnection(url, username, passwordUrl)
}
пример вызываемого метода

Код: Выделить всё

fun getEventsByDate(roomId: Int, date: String): List {
val connection = getConnection()
val query = "SELECT * FROM events WHERE idROOM =? AND data =?"
val preparedStatement = connection.prepareStatement(query)
preparedStatement.setInt(1, roomId)
preparedStatement.setDate(2, java.sql.Date.valueOf(date))
val resultSet = preparedStatement.executeQuery()
val events = mutableListOf()

while (resultSet.next()) {
val event = Event(
data = resultSet.getDate("data").toString(),
time = resultSet.getString("time"),
place = resultSet.getString("place"),
event = resultSet.getString("event"),
)
events.add(event)
}
connection.close()

return events
}
Это исключение:

Код: Выделить всё

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2266)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:768)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
at java.sql.DriverManager.getConnection(DriverManager.java:580)
at java.sql.DriverManager.getConnection(DriverManager.java:218)
at com.example.helper1.MySqlHelper.getConnection(MySqlHelper.kt:19)
at com.example.helper1.MySqlHelper.getEventsByDate(MySqlHelper.kt:134)
at com.example.helper1.RoomsFragment.changeScrollView(RoomsFragment.kt:869)
отредактировано: добавлен лог.
Также добавлю, что при запуске приложения я использую не эмулятор, а обычный телефон.


Подробнее здесь: https://stackoverflow.com/questions/788 ... l-database
Ответить

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

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

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

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

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