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 :

[Derby] Problème de connexion


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut [Derby] Problème de connexion
    Bonjour à tous,

    Je suis entrain de tester une base de données Derby sous Netbeans.
    Lorsque je lance la connection avec le clic droit de la souris sur la base de données, aucun problème ..celle - ci se connecte et je peux saisir des données..

    J'ai fait le choix d'utiliser Derby pour pouvoir utiliser cette base de donnée en mode embarqué.
    Seulement lorsque je crée le code programme de connection à cette base de données, j'ai à chaque fois un refus de connection..
    Message : " l'erreur lors de la connexion au serveur localhost sur le port 1527 a émis le message Connexion refusée. "

    Je lance la connection manuellement à ma base de donnée
    Puis je me déconnecte manuellement à cette base...et que par la suite j'effectue un "Run" du programme uniquement à base de mon code java ..., la connection réussie.
    Bien qu'ayant déconnecté manuellement la base de données en ayant fait un clic droit avec la souris sur le drivers jdbc:derby ..

    Je quitte le programme ainsi que netbeans, tout en pensant que mon code est bon et que je n'ai plus besoin de lancer la connection manuellement..
    Or, lorsque je relance Netbeans pour continuer à travailler sur mon programme,j'ai à nouveau le message de connection refusée..

    Est ce que quelqu'un pourrait m"aider ou aurait une idée ?
    Ci après le code de connection.
    Merci d'avance..
    a+


    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
     
     String driver = "org.apache.derby.jdbc.ClientDriver";
          String dbName ="Test";
     
     
     
           Class.forName(driver);
     
     
           String login ="admin";
           String password = "admin";
     
           String host = "jdbc:derby:/" + dbName;
     
     
     
     
          Connection con = DriverManager.getConnection(host,login,password);
     
            }
            catch (SQLException ex) {
     
     
                 JOptionPane.showMessageDialog(null, " Connection refusée "+ex.getMessage());
        }

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Pour fonctionner, la base doit être prise en charge par un serveur.
    C'est ce que fait NetBeans quand tu demandes une connexion.

    Dans une application embarquée, on démarre d'abord un serveur embarqué : "EmbeddedDriver"
    qui va gérer les accès à cette base (comme pour les "grosses" bases Oracle, MySql, ...)

    Après quoi, on peut se connecter à la base avec "ClientDriver"
    pour faire les opérations habituelles de JDBC.

    Tu dois donc avoir un code d'initialisation du genre :
    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
            try {
                Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
            } catch (InstantiationException ex) {
                ex.printStackTrace();
            } catch (IllegalAccessException ex) {
                ex.printStackTrace();
            } catch (ClassNotFoundException ex) {
                JOptionPane.showMessageDialog(null,"org.apache.derby.jdbc.EmbeddedDriver pas trouvé ...");
                System.exit(1);
            }
            try {
                Class.forName("org.apache.derby.jdbc.ClientDriver");
            } catch (ClassNotFoundException ex) {
                JOptionPane.showMessageDialog(null,"org.apache.derby.jdbc.ClientDriver pas trouvé ...");
                System.exit(1);
            }
     
           String url = "jdbc:derby:mabase";
           String login ="admin";
           String password = "admin";      
     
            try {
                Connection conn = DriverManager.getConnection(url,login ,password );
            } catch (SQLException ex) {
                ex.printStackTrace();
                JOptionPane.showMessageDialog(null,"Erreur de connexion à la base " + url);
                System.exit(1);
            }
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    Merci pour ta réponse et ton aide Népomucène...

    J'avais songé au "EmbeddedDriver"...sauf qu'au moment de la saisie de la ligne suivante en enlevant les guillemets : org.apache.derby.jdbc.EmbeddedDriver , Netbeans ne propose pas la complétition du code après le point de "jdbc" du mot clef EmbeddedDriver...( bien entendu, je rajoute les guillemets dans cette ligne ).


    Néanmoins j'ai testé ton code et j'ai effectivement le message "...derby.jdbc.EmbeddedDriver ... " non trouvé, et impossible d'aller plus loin..

    Encore merci.
    a+

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Cela m'a tout l'air d'un problème de bibliothèque.
    Ton application doit avoir à sa disposition :
    - derby.jar
    - derbyclient.jar
    à vérifier dans le classpath

    De mon coté, je les ais ajoutés à mon projet NetBeans, comme ça ils sont ajoutés
    automatiquement dans le répertoire lib de la distribution (répertoire dist du projet)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    Dans la partie "Librairie" du projet j'ai bien le derbyclient.jar qui y figure..
    J'ai rajouté hier soir la librairie qui porte le nom " java db embedded " par prudence..
    Faut t'il rajouter ces librairies ailleurs ?.

    Merci à toi

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Comme je te disais plus haut, dans mon projet j'ai bien les jar :
    - derby.jar
    - derbyclient.jar
    Ce sont deux fichiers jar qui doivent se trouver dans le classpath pour que l'application fonctionne en mode embarqué

    Il faut que tu vérifies que la librairie "java db embedded" contient bien derby.jar

    De toutes façons, au bout du compte, il faut que derby.jar soit présent dans le répertoire lib
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. Problème de connexion a une base Derby
    Par mister_hassan dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 04/10/2007, 14h11
  2. [ Oracle 9ias / 10g] problème de connexion
    Par Boosters dans le forum JDeveloper
    Réponses: 2
    Dernier message: 20/01/2004, 17h23
  3. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 09h28
  4. Réponses: 11
    Dernier message: 13/10/2003, 14h48
  5. problème de connexion 2 PC
    Par guitalca dans le forum Développement
    Réponses: 3
    Dernier message: 22/09/2003, 14h04

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