Android AsyncTask在获取连接时迷失了方向



我正在使用AsyncTask连接到远程SQL Server数据库不知何故,应用程序停止在:

Connection conn = DriverManager.getConnection(url);

我在其他 java 应用程序中测试了连接字符串,它正在工作这是我的异步任务代码:

private class ValidateUser extends AsyncTask<String, Integer, Integer> {
    @Override
    protected Integer doInBackground(String... params) {
        try {
            String url = getResources().getString(R.string.ConnectionString);
            String username = params[0];
            String password = params[1];
            Log.d("url", url);
            Log.d("username", username);
            Log.d("password", password);
            Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
            Connection conn = DriverManager.getConnection(url);
            if (conn == null) // couldn't connect to server
            {
                return -1;
            }
            Statement statement = null;
            ResultSet resultSet = null;
            String sql = "select EMPLOYEE_ID from EMPLOYEES "
                    + "where EMPLOYEE_USERNAME = '" + username + "' "
                    + "and EMPLOYEE_PASS = '" + password + "'";
            statement = conn.createStatement();
            resultSet = statement.executeQuery(sql);
            if (resultSet.next()) {
                return resultSet.getInt("EMPLOYEE_ID");
            }
        } catch (Exception e) {
            Log.d("BEZRA",e.getMessage());
            return -1;
        }
        return 0;
    }
}

我明白了,代码很好。它只是响应 - 大约 5 分钟没有响应 - 除了它无法解析服务器名称,所以我用内部 IP 替换了它,一切正常。

最新更新