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

avec Java Discussion :

Java DB, BDD embarqué


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut Java DB, BDD embarqué
    Bonjour,

    Je suis en train de m'essayer à l'utilisation de Java DB sous nb7. J'ai réussi à démarrer manuellement ma base, à créer dedans des tables. Pour être concret, je vous les donnes ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Table : USERS
    ID NOM PRENOM CUMUL_HEURE
     
    Table : POINTAGES
    ID ID_USER DATE HEUREDEBUT HEUREFIN ID_PROJET COM
     
    Table : PROJETS
    ID NUM NOM COM
    Jusque là, il n'y a rien d'exceptionnel. J'aimerais maintenant faire en sorte que lorsque mon application démarre, elle démarre d'elle même la base, et puisse enregistrer des nouvelles données au travers d'un onglet saisie.

    Date -> il faudra que je prenne un objet qui montre le calendrier
    Heure de début -> champs manuel de la forme hh + champ manuel de la forme mm
    Heure de fin -> champs manuel de la forme hh + champ manuel de la forme mm
    Validation -> bouton lançant la commande d'enregistrement

    Pour le moment je suppose que c'est tout le temps l'utilisateur 1 qui enregistre. J'ajouterais ensuite des champs pour éviter ça.

    J'ai tenter de trouvé un peu de doc, helas les résultats sont bien faible. Je sollicite donc un peu d'aide pour faire ce bout d'application.

    Je ne suis peut-être pas dans la bonne section, au pire, on décalera avec un modérateur, cela ne me pose aucun problème.

    Merci pour votre aide.

  2. #2
    Membre actif Avatar de akrom
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 115
    Points : 201
    Points
    201
    Par défaut
    Pour que l'appli se connecte directement à la base de donnée
    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
     try {
              Connection   conn = null;
     
     
     
     
                String dbURL = "jdbc:derby:." + "chemin de la base/" + "nom de la base;user=APP";
     
               sc = new org.apache.derby.drda.NetworkServerControl(InetA conn = null;
                Statement stmt = null;
                Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
                conn = DriverManager.getConnection(dbURL);
                stmt = conn.createStatement();
     
                String s = "Ma requete SQL";
                ResultSet results = stmt.executeQuery(s);
     
                while (results.next()) {
                    //traittement a faire
                }
                results.close();
                stmt.close();
                conn.close();
            } catch (SQLException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } finally {
            }
    Pour lancer la base en mode serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     try {
                int dbPort=14541;//port d'ecoute du serveur de la base
                String dbIP="localhost";//ip qui peuvent acceder à la base
        NetworkServerControl nsc = new org.apache.derby.drda.NetworkServerControl(InetAddress.getByName(dbIP), dbPort);
                    //nsc.setMaxThreads(50);
     
                    nsc.start(new java.io.PrintWriter(new java.io.OutputStreamWriter(System.out)));
            } catch (Exception ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
     
        }
    et pour si connecter
    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
    try {
                Connection conn = null;
                     int dbPort=14541;
     
                             String   dbURL = "jdbc:derby://localhost:" + Integer.toString(dbPort) + "/nomDeLaBase";
                                conn = null;
                                Statement stmt = null;
                                Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
                                conn = DriverManager.getConnection(dbURL);
                                stmt = conn.createStatement();
     
                                String s;
     
                                s = "Ma requete SQL";
                                ResultSet results = stmt.executeQuery(s);
                                 while (results.next()) {
                               //traittement
     
                            }
                                 results.close();
                                stmt.close();
                                conn.close();
            } catch (SQLException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
            }
    On peut tout faire seul avec de la persévérance mais ça va plus vite à plusieurs.

    Je ne répondrais pas aux questions technique par MP .

Discussions similaires

  1. java SGBD BDD
    Par amine198927 dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 02/01/2009, 20h15
  2. débutant - appli java et bdd comment ça marche
    Par 123quatre dans le forum Général Java
    Réponses: 6
    Dernier message: 25/09/2008, 21h24
  3. Plan étape des classes java vers BDD
    Par Sokhar dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/05/2008, 12h29
  4. Connexion java à une BDD MySQL distante via SSH
    Par onigami dans le forum JDBC
    Réponses: 3
    Dernier message: 16/04/2008, 13h47
  5. [JDBC]Java et bdd offline
    Par mat10000 dans le forum JDBC
    Réponses: 13
    Dernier message: 26/10/2005, 11h18

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