Я пытаюсь подключиться к внешней базе данных AWS MYSQL из моего приложения для Android.Приложение не находит соединение, если я запускаю его со своего телефона, а также не с эмулятора, но я могу подключиться к базе данных из других приложений на обоих устройствах, поэтому проблема скорее всего заключается в коде, чем в каком-то брандмауэреили проблема с сервером.
public void onClick(View v) {
// create our mysql database connection
try {
System.out.println("Loading driver...");
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loaded!");
} catch (ClassNotFoundException e) {
throw new RuntimeException("Cannot find the driver in the classpath!", e);
}
try
{
Connection conn;
conn = DriverManager.getConnection("jdbc:mysql://ls-3696c8c5ea6858991e00efb9f56cd885b537c8e1.cygym1zxattm.ap-south-1.rds.amazonaws.com:3306/camagru", "username", "password");
// our SQL SELECT query.
// if you only need a few columns, specify them by name instead of using "*"
String query = "SELECT * FROM users";
// create the java statement
Statement st = conn.createStatement();
// execute the query, and get a java result set
ResultSet rs = st.executeQuery(query);
String Username = rs.getString("username");
// print the results
System.out.format("%s\n", Username);
st.close();
}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
Я получаю сообщение об ошибке:
«Не удалось создать соединение с сервером базы данных».
Я не получаюошибка при создании экземпляра, поэтому имя драйвера должно быть правильным, а драйвер должен работать правильно.
Есть идеи, почему я не могу установить соединение?Из того, что я могу сказать, драйвер работает правильно, сервер работает правильно, сведения о соединении с базой данных верны, и, похоже, нет брандмауэра, блокирующего соединение, потому что я могу подключиться к нему из других приложений.