0

I'm trying to connect to my mySQL server from my android app. Don't mind how unsafe it is, it's not meant to be published. I am not able to make a connection to my mysql server (version 5.7). lireBdd method is called in my MainActivity

public class ConnexionBdd {
public ListeID lireBdd() { //retourne une liste contenant tous les id de la bdd
    IdEnvoyes listebdd = new IdEnvoyes();
    try {
        Class.forName("com.mysql.jdbc.Driver");

        String url = "jdbc:mysql://193.xxx.xxx.250:3306/freecovid";
        String user = "root";
        String passwd = "root";

        Connection conn = DriverManager.getConnection(url, user, passwd);

        //Création d'un objet Statement
        Statement state = conn.createStatement();
        //L'objet ResultSet contient le résultat de la requête SQL
        ResultSet result = state.executeQuery("SELECT * FROM freecovid.idMalades");
        //On récupère les MetaData
        ResultSetMetaData resultMeta = result.getMetaData();

        while(result.next()){
            for(int i = 0; i <= resultMeta.getColumnCount(); i++) {
                listebdd.addId((Integer) result.getObject(i));
            }
        }

        result.close();
        state.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return listebdd;
}

I'm getting these errors :

  2020-06-26 16:14:54.491 9384-9384/com.iutlan.freecovid W/System.err: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
2020-06-26 16:14:54.491 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance0(Native Method)
2020-06-26 16:14:54.491 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
2020-06-26 16:14:54.491 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
2020-06-26 16:14:54.491 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.Util.getInstance(Util.java:386)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2266)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance0(Native Method)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:580)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:218)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.iutlan.freecovid.ConnexionBdd.lireBdd(ConnexionBdd.java:22)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.iutlan.freecovid.MainActivity.testbdd(MainActivity.java:69)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.iutlan.freecovid.MainActivity.onCreate(MainActivity.java:56)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.Activity.performCreate(Activity.java:7894)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.Activity.performCreate(Activity.java:7881)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3279)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3443)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2040)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:107)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.os.Looper.loop(Looper.java:224)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7520)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
2020-06-26 16:14:54.492 9384-9384/com.iutlan.freecovid W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err: Caused by: android.os.NetworkOnMainThreadException
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1571)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:389)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.Socket.connect(Socket.java:621)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:299)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
2020-06-26 16:14:54.493 9384-9384/com.iutlan.freecovid W/System.err:    ... 28 more
2020-06-26 16:14:54.497 9384-9384/com.iutlan.freecovid W/System.err: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance0(Native Method)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.Util.getInstance(Util.java:386)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2266)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance0(Native Method)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:580)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.sql.DriverManager.getConnection(DriverManager.java:218)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.iutlan.freecovid.ConnexionBdd.lireBdd(ConnexionBdd.java:22)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.iutlan.freecovid.MainActivity.testbdd(MainActivity.java:70)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.iutlan.freecovid.MainActivity.onCreate(MainActivity.java:56)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.Activity.performCreate(Activity.java:7894)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.Activity.performCreate(Activity.java:7881)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3279)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3443)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2040)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:107)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.os.Looper.loop(Looper.java:224)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7520)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
2020-06-26 16:14:54.498 9384-9384/com.iutlan.freecovid W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err: Caused by: android.os.NetworkOnMainThreadException
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1571)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:389)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at java.net.Socket.connect(Socket.java:621)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:299)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
2020-06-26 16:14:54.499 9384-9384/com.iutlan.freecovid W/System.err:    ... 28 more

I'm using MySQL Connector 5.1.49 since v8 wasn't working for me.

  • Could you please confirm what version of MySql are you using? There could be compatibility issue of connector version and mysql version – Harmandeep Singh Kalsi Jun 26 '20 at 14:31
  • This Class.forName("com.mysql.jdbc.Driver"); //ERREUR ICI LORS DE TESTS giving error indicates you don't have the library in the project. Try to use the class and make an import see if it finds the library. – MissingSemiColon Jun 26 '20 at 14:33
  • I followed this tutorial : https://tecadmin.net/install-mysql-server-on-debian9-stretch/ and chose my sql 5.7 – Flagador TV Jun 26 '20 at 14:33
  • My comment isn't relevant anymore, i have imported :import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; which are all found – Flagador TV Jun 26 '20 at 14:35
  • Please post the full exception stacktrace, as far as I can tell you are missing exception causes here. However, as I also mentioned on your other question, you really shouldn't use JDBC drivers from Android. – Mark Rotteveel Jun 26 '20 at 14:45
  • I have added the full stacktrace. I was supposed to work in a group for this school project unfortunately i am working alone and i don't have a lot of time. I am looking for the most simple and the quickest solution here – Flagador TV Jun 26 '20 at 14:53
  • The problem is that Android doesn't allow network communication on the 'main' thread. See the duplicate for more information. – Mark Rotteveel Jun 26 '20 at 15:09
  • Thank you so much for all your help, i'll check this out ! – Flagador TV Jun 26 '20 at 15:11

0 Answers0