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 :

Connexion a une BDD Mysql par pool BoneCP


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Par défaut Connexion a une BDD Mysql par pool BoneCP
    spec:
    Serveur : Tomcat v7.0
    BDD : Mysql
    Host BDD : www.000webhost.com

    Intro:

    J'utilise BoneCP pour gérer un pool de connexion que j’initie de cette façon :
    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
    try {
    				Class.forName("com.mysql.jdbc.Driver");
    				BoneCPConfig config = new BoneCPConfig();
    				config.setJdbcUrl(url);
    				config.setUsername(user);
    				config.setPassword(pass);
    				config.setMinConnectionsPerPartition(5);
    				config.setMaxConnectionsPerPartition(10);
    				config.setPartitionCount(2);
     
    				cp = new BoneCP(config);
    			} catch (ClassNotFoundException e) {
    				//TODO
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    et j’appelle cette fonction avec ses arguments :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    url = "jdbc:mysql://10.1.1.106:3306/a5428003_latoile" //ou url = "jdbc:mysql://mysql6.000webhost.com:3306/a5428003_latoile"
    user = "a5428003_admin"
    pass = "secret"
    problème:

    J’obtiens cette erreur lors de l’appelle de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.sql.SQLException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://10.1.1.106:3306/a5428003_latoile, username = a5428003_admin. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------
     

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 427
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je dirais qu'il semble que soit le SGBD n'est pas à l'adresse indiquée, soit qu'il n'est pas démarré, ou alors c'est un problème de filtrage de port. Tu as essayé de te connecter en direct, via squirrel par exemple, pour tester l'url.

    [EDIT]Sinon, ton code de connexion, il s'exécute sur le serveur ou sur le client ? L'url n'est peut être (sûrement même) la même en local que celle ouverte sur l'extérieur sur webhost, et il n'y a peut-être pas de bouclage.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Par défaut
    Pour l'instant le client et le serveur "run" sur mon ordi et la BD est sur un serveur.
    Le code de connexion a la BD est coter serveur dans une servlet.

    Pour le test avec une simple connexion, sa la marcher super bien.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 427
    Billets dans le blog
    2
    Par défaut
    Donc, si je comprends bien ta réponse, tu peux te connecter à distance, mais pas "en local" sur webhost (depuis une application hébergée sur webhost vers un sgbd hébergé sur webhost). Donc, soit l'URL à utiliser en local n'est pas la même (voir documentation webhost) que l'URL distante, soit c'est une option que ton contrat webhost ne supporte pas (voir documentation webhost).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 8
    Par défaut
    Que la BD est sur le serveur, le reste est sur mon ordi. Avec eclipse je lance tomecat et puis mon app(client). Client serveur communique bien ensemble mais serveur BD ne marche pas avec un pool de connexion BonneCP.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 427
    Billets dans le blog
    2
    Par défaut
    Vérifie la configuration des timeouts mysql (wait_timeout & interactive_timeout) (normalement, si tu n'y a pas touché, elles sont à leur valeur par défaut, ce qui devrait être suffisants).

    Ajoute ça à la configuration boneCp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    config.setIdleConnectionTestPeriodInMinutes( une valeur en minutes  );
    config.setConnectionTestStatement("SELECT 1");
    Pour la valeur en minutes, elle dépend du temps d'inactivité de ton application : si tu fais peu de requêtes, pas souvent, la valeur devra être importante.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Erreur à la connexion d'une bdd firebird par fibplus
    Par tarek_ep dans le forum Connexion aux bases de données
    Réponses: 3
    Dernier message: 01/03/2015, 13h49
  2. connexion à distance à une BDD mySQL ou solution alternative ?
    Par alloa28 dans le forum Administration
    Réponses: 0
    Dernier message: 17/07/2010, 13h44
  3. [debutante] Connexion a une bdd mysql en java
    Par ghaza dans le forum JDBC
    Réponses: 4
    Dernier message: 12/05/2010, 09h21
  4. connexion distante à une bdd mysql locale
    Par acryline dans le forum MySQL
    Réponses: 1
    Dernier message: 19/05/2009, 00h02
  5. Connexion java à une BDD MySQL distante via SSH
    Par onigami dans le forum JDBC
    Réponses: 3
    Dernier message: 16/04/2008, 14h47

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