我正在尝试从Android应用程序连接到外部AWS MYSQL数据库。如果我从手机而不是从模拟器运行该应用程序,则找不到连接,但是我可以从两个设备上的其他应用程序连接至数据库,因此,问题应该出在代码中,而不是某些防火墙或服务器问题。
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());
}
}
我收到的错误消息是:
“无法创建与数据库服务器的连接。”
创建实例时我没有收到错误消息,因此驱动程序名称应该正确并且驱动程序应该正确运行。
关于为什么我无法建立联系的任何想法?据我所知,驱动程序运行正常,服务器运行正常,数据库的连接详细信息正确,并且似乎没有防火墙阻止连接,因为我可以从其他应用程序连接到该连接。>