繁体   English   中英

登录中的异常::无法创建与数据库服务器的连接

[英]Exception in Login:: Could not create connection to database server

我正在使用连接到AWS上的数据库的android应用程序(API级别19),并且不断收到以下错误:

    04-29 09:24:12.095: I/System.out(1711): Exception in Login::Could not create connection to database server.
    04-29 09:24:12.095: W/System.err(1711): com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

我有一个名为DataBaseConnection的类来处理连接:

public class DataBaseConnection {

Connection connect = null;

public Connection getDataBaseConnection(){
    if(connect == null){
        try {
            Class.forName("com.mysql.jdbc.Driver");// loading MySQL driver
            connect = DriverManager.getConnection("jdbc:mysql://cmpe277.c38qsf0avgvg.us-west-1.rds.amazonaws.com:3306/CMPE277?user=root&password=password");
            //Set up connection with DB, username, password
        } catch (Exception e) {
            System.out.println("Exception in Login::"+e.getMessage());
            e.printStackTrace();
        }
    }
    return connect;
}
}

连接数据库并插入值的onClick方法如下所示:

//onClick Method for Sign Up
public void signUp(View view){

    DataBaseConnection dbConn = new DataBaseConnection();
    Connection conn = dbConn.getDataBaseConnection();

    EditText usernameEntry = (EditText) findViewById(R.id.username);
    username = usernameEntry.getText().toString();

    EditText password1Entry = (EditText) findViewById(R.id.password1);
    password1 = password1Entry.getText().toString();

    EditText password2Entry = (EditText) findViewById(R.id.password2);
    password2 = password2Entry.getText().toString();

    //Check That the two Typed Passwords Match
    if(password1.equals(password2)){
        query = "INSERT INTO USER VALUES (username,password1)";
        try {
                if(conn != null){
                    stmt = conn.createStatement();
                    stmt.executeQuery(query);
                }
        } 
        catch (Exception e) {
                System.out.println("Error in execute query::"+e.getMessage());
                e.printStackTrace();
        }
    }
}

我已经在Java应用程序中使用了此类(DataBaseConnection),没有问题,但是当我尝试在android应用程序中实现该类时,我遇到了错误。

找到了解决方案。 只需使用AsyncTask在单独的线程中运行与数据库的连接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM