我正在尝试将Android应用连接到局域网内的MySQL服务器。
经过一些测试,我能够将应用程序与服务器连接,但是现在服务器响应时出现身份验证问题:
Invalid authorization specification message from server: "Access denied for user 'fast@'@'192.168.1.63' (using password: YES)"
服务器中的用户名是fast @%,并且密码已检查并确定。
这是应用程序中的功能代码:
Thread sqlThread = new Thread() {
public void run() {
try {
Class.forName("com.mysql.jdbc.Driver");
// "jdbc:mysql://IP:PUERTO/DB", "USER", "PASSWORD");
// Si estás utilizando el emulador de android y tenes el mysql en tu misma PC no utilizar 127.0.0.1 o localhost como IP, utilizar 10.0.2.2
Connection conn = DriverManager.getConnection(
"jdbc:mysql://192.168.1.54:3306/databasetest", "fast@", "12345678");
//En el stsql se puede agregar cualquier consulta SQL deseada.
String stsql = "Select version()";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(stsql);
rs.next();
System.out.println( rs.getString(1) );
conn.close();
} catch (SQLException se) {
System.out.println("oops! No se puede conectar. Error: " + se.toString());
} catch (ClassNotFoundException e) {
System.out.println("oops! No se encuentra la clase. Error: " + e.getMessage());
Log.d("Test","Test e"+e.toString());
}
}
};
我已经在数据库中为用户提供了所有特权,但是我不知道如何解决该问题。