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 :

Se connecter à une base de donnéés


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut Se connecter à une base de donnéés
    Bonjour,

    Je suis débutant en Java, pour me connecter à une base de données Firebird j'est télécharger les logiciels suivants :
    - Le JDK 1.5
    - Le JDBC de firebird

    J'est déjà installé le Firebird sur mon PC.

    Pour que java est bien installé et Pathé, je compile des petit exemple exemple HelloWorldJava. Ca marche.

    Le problème c'est que lorsque je complie bien sûr avec javac mon_prg.java, j'obtient un message d'erreur de compilation (en faite de génération de bytecode) :
    Voici mon 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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    /*
     * Main.java
     *
     * Created on 21 mars 2007, 15:30
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
     
    //package javaapplication4;
     
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import org.firebirdsql.management.*;
    /**
     *
     * @author Admin
     */
    public class bd {
     
        /** Creates a new instance of Main */
        public bd() {
        }
     
        /**
         * @param args the command line arguments
         */
        //public static void main(String[] args) {
            // TODO code application logic here
            public static void main(String[] args) throws SQLException {
     
            try {
            // TODO code application logic here
            Class.forName ("org.firebirdsql.jdbc.FBDriver");
            //String databaseURL = "jdbc:firebirdsql://3050:c:/ydata/plsouss/Gestion/2007/Data.fdb";
     
     
            //String databaseURL = "jdbc:firebirdsql://3050:c:/ydata/plsouss/Gestion/2007/Data.fdb";
            String databaseURL = "jdbc:firebirdsql:localhost/3050:C:/ydata/Agrilit/Gestion/2007/Data.yag";
            String user = "SYSDBA";
            String password = "masterkey";
            String strQuery = "SELECT * FROM f0011";
     
            Connection conn = DriverManager.getConnection(databaseURL,user,password);
            Statement stAddUser = conn.createStatement();
            ResultSet rsLogin = stAddUser.executeQuery(strQuery);
            while (rsLogin.next()) { 
            String s = rsLogin.getString(1);
            s = rsLogin.getString(1) + " " + rsLogin.getString(2) +" " + rsLogin.getString(3)
            +" " + rsLogin.getString(4)+" " + rsLogin.getString(5)+" " + rsLogin.getString(6) ;
            System.out.println(s);
            }
            System.out.println("--- OKI CA MARCHE ---");
            } 
            catch (ClassNotFoundException ex) 
            {
                ex.printStackTrace();
                System.err.println("!!! CA MARCHE PAS !!!");
            }
            }
    }
    c:\Exple_java\javac mybase.java

    Losque je compile, j'obtient l'erreur suivante :
    mybase.java:16: package org.firebirdsql.management does not exist
    import org.firebirdsql.management.*;
    ^
    1 error.


    Portant j'est mais le jar JDBC de Firebird dans le CLASSPATH.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Que contient ton classpath précisément ? (au passage j'aurais tendance à te déconseiller d'utiliser la variable d'environnement CLASSPATH )

    Pourquoi tu importes org.firebirdsql.management.* ? Tu ne devrais pas faire de lien aussi fort avec le driver. JDBC s'occupe de cacher l'implémentation (cela permet de changer de BD plus facilement).

    a++

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta répense adiGuba.

    SET CLASSPAT ="C:\Program Files\Java\Jaybird-2.1.1JDK_1.5"
    Ce répertoire contient le JDBC de firebird.

    Est-ce que tu peux me montrer un exemple de connection.

  4. #4
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    Lorsque j'annulle la ligne :
    //import org.firebirdsql.management.*;

    La compilation se fait sans message d'erreur.
    Mais à l'execution, j'obtient le message suivant :
    Exception in thread "main" java.lang.NoClassDefFoundError: mybase
    caused by : java.lang.ClassNotFoundException: mybase
    at java.net.URLClassLoader$1.run<Unkown Source>
    at java.security.AccessController.doPrivileged(Native Method)
    .
    .
    .
    Error : Could not find the main class mybase
    Error : A JNI error has occured, please check your installation and try again

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Socrat Voir le message
    SET CLASSPAT ="C:\Program Files\Java\Jaybird-2.1.1JDK_1.5"
    Ce répertoire contient le JDBC de firebird.
    Dans ce cas ce doit être un répertoire de classes (avec l'arborescences des packages) ?
    Ou bien est-ce qu'il contient une archive jar ? Dans ce cas c'est l'archive jar qui devrait être référencé !

    Citation Envoyé par Socrat Voir le message
    Mais à l'execution, j'obtient le message suivant :
    [B][COLOR="DarkRed"]Exception in thread "main" java.lang.NoClassDefFoundError: mybase
    Normal puisque ta classe n'est pas présente dans le CLASSPATH !


    Donc :
    1. Supprimes la variable d'environnement CLASSPATH
    2. Supprimes la ligne import org.firebirdsql.management.*;
    3. Compiles ta classe
    4. Exécutes-la en spécifiant le classpath sur la ligne de commande. Ce dernier doit contenir ton driver JDBC et le répertoire de ton application. Par exemple :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      java -classpath "C:\Program Files\Java\Jaybird-2.1.1JDK_1.5\lefichier.jar";. mybase


    a++

  6. #6
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 144
    Points : 50
    Points
    50
    Par défaut
    Merci bcp AdiGuba pour ta répence.
    Je vais essayer ça.

    Merci encore.

Discussions similaires

  1. Connection à une base de données
    Par lenouvo dans le forum MFC
    Réponses: 9
    Dernier message: 18/08/2005, 10h38
  2. Réponses: 8
    Dernier message: 09/11/2004, 12h25
  3. [débutant] Connection à une base de donnée Access
    Par Lorenzox dans le forum JBuilder
    Réponses: 1
    Dernier message: 25/10/2004, 16h28
  4. Connection à une base de données
    Par rodri dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2004, 15h05
  5. Connection à une base de données
    Par rodri dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/07/2004, 13h03

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