Could not create connection to database server. Attempted reconnect 3 times. Giving up.

0

Witam
Z tym problemem bawię się od 2 dni i nie mogę znaleźć rozwiązania. Otóż używam mysql-connection-java do obsługi bazy MySql na androidzie. Podczas debugowania nie może się połączyć z bazą, pomimo tego że kod w Eclipse Java śmiga aż miło. Patrzyłem po różnych forach w internecie ale nigdzie nie mogę znaleźć odpowiedzi. Poniżej przedstawiam kod klasy. Nie mam pojęcia dlaczego w Eclipse łączy się z bazą, a na urządzeniu Android już nie chce.

 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class JDBC {
    // init database constants
    private static final String DATABASE_DRIVER = "com.mysql.jdbc.Driver";
    private static final String DATABASE_URL = "jdbc:mysql://sql7.freemysqlhosting.net/sql7109625?autoReconnect=true";
    private static final String USERNAME = "sql7109625";
    private static final String PASSWORD = "mojeChaslo";
    private static final String MAX_POOL = "250";

    // init connection object
    private Connection connection;
    // init properties object
    private Properties properties;

    // create properties
    private Properties getProperties() {
        if (properties == null) {
            properties = new Properties();
            properties.setProperty("user", USERNAME);
            properties.setProperty("password", PASSWORD);
            properties.setProperty("MaxPooledStatements", MAX_POOL);
        }
        return properties;
    }

    // connect database
    public Connection connect() {
        if (connection == null) {
            try {
                Class.forName(DATABASE_DRIVER);
                connection = DriverManager.getConnection(DATABASE_URL, getProperties());
            } catch (ClassNotFoundException | SQLException e) {
                e.printStackTrace();
            }
        }
        return connection;
    }

    // disconnect database
    public void disconnect() {
        if (connection != null) {
            try {
                connection.close();
                connection = null;
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
0

Dla przyszłych pokoleń :)
Znalazłem rozwiązanie mojego problemu. Użyłem:

 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

StrictMode.setThreadPolicy(policy); 

I program wreszcie działa :) Ma to związek z polityką aplikacji, że nie można ustanowić połączenia w aktywnym class czy coś takiego

1 użytkowników online, w tym zalogowanych: 0, gości: 1