IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

JDBC Connection Failure


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut JDBC Connection Failure
    Bonjour,
    J'ai vu qu'il y à plusieurs post sur ce thème mais je n'arrive pas à comprendre comment le résoudre.

    J’exécute ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    public class MainActivity extends AppCompatActivity {
     
        private static final String url = "jdbc:mysql://192.168.1.155:3306/***"; //*** = DB.
        private static final String user = "***";
        private static final String pass = "***";
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
                setSupportActionBar(toolbar);
     
                testDB();
            }
     
        public void testDB() {
            TextView tv = (TextView)this.findViewById(R.id.text_view);
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection(url, user, pass);
            /* System.out.println("Database connection success"); */
     
                String result = "Database connection success\n";
                Statement st = con.createStatement();
                ResultSet rs = st.executeQuery("select * from personne");
                ResultSetMetaData rsmd = rs.getMetaData();
     
                while(rs.next()) {
                    result += rsmd.getColumnName(1) + ": " + rs.getInt(1) + "\n";
                    result += rsmd.getColumnName(2) + ": " + rs.getString(2) + "\n";
                    result += rsmd.getColumnName(3) + ": " + rs.getString(3) + "\n";
                }
                tv.setText(result);
            }
            catch(Exception e) {
                e.printStackTrace();
                tv.setText(e.toString());
            }
     
        }
    }
    Et j’obtiens :
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    il n'y a pas de serveur qui repond à 192.168.1.155:3306

    => S'assurer que le serveur est configuré pour répondre à autre chose que "localhost"
    => S'assurer qu'aucun firewall ne bloque l'accès
    => S'assurer que l'adresse est accessible. Tu arrive à la pinger depuis la même machine que celle où tu exécute ton code? Problème de routage dans ton réseau?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    192.168.1.155 est l'adresse de la machine en local qui contient la BDD, je suis dans un réseau d'entreprise je ne peut me connecté autrement que par l'adresse local, les autre point que tu cite sont tous OK, sauf pour le localhost je vais regarder ça.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu as testé depuis le même device que celui qui tourne ton code? Parce que ça m'a l'air d'être du code android, il y a une différence entre faire tourner ça depuis l'émulateur android et depuis la machine où tu dev, elle ne sont pas sur le même réseau en général.

    D'ailleurs si la base de données n'est accessible qu'en local, quel intérêt d'y accéder depuis android? Ca ne passera plus à travers la 3G.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    c'est bien du code android, cependant qu'entend tu par testé sur le même device ?

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Ce logiciel serra pour des tablette et non des téléphone

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par millecius Voir le message
    c'est bien du code android, cependant qu'entend tu par testé sur le même device ?
    ben celui où tu déploie ton APK et qui lance ton mpessage d'erreur. Que ce soit le device réel ou le device émulé. L'adresse 192.168.1.155 n'est probablement pas routée depuis l'émulateur. Je ne connait pas le dev android mais il me semble qu'en général l'émulateur n'a accès à rien d'autre que la machine hote, pas au reste du réseau.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Donc non je n'est pas encore de tablette à disposition je ne peut donc pas testé dessus je me contente de l'émuler pour le moment sous android studio

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Justement si j'ai vérifié cette hypothèse sur l'émulateur j'ai tenté de me connecter au site intranet de la société disponible quand réseau local donc je ne pense pas qu'il ne puisse pas se connecté en réseau local.

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Bon, enfaite c'était un problème de compatibilité des librairies et parce qu'il fallait ajouter <uses-permission android:name="android.permission.INTERNET" /> à <AndroidManifest.xml> mais cela m'a engendrer une autre erreur : Android.os.NetworkOnMainThreadException

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Points : 58
    Points
    58
    Par défaut
    Bon et bien j'ai trouvé il fallait faire une asynctask

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/04/2009, 19h03
  2. [JDBC]Connection base de donnees oracle
    Par jlassira dans le forum JDBC
    Réponses: 2
    Dernier message: 07/10/2005, 13h33
  3. [JDBC]connection à db2 via websphere
    Par mlequim dans le forum JDBC
    Réponses: 23
    Dernier message: 06/07/2005, 15h22
  4. Réponses: 2
    Dernier message: 27/04/2005, 17h56
  5. [JDBC]connection via JDBC
    Par ENIT-Info dans le forum JDBC
    Réponses: 4
    Dernier message: 18/03/2005, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo