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 :

Exporter une application utilisant Derby


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut Exporter une application utilisant Derby
    bonjour a tous ,
    voila comme le dit le titre, j ai une petite application utilisant derby en mode embarqué, qui fonctionne quand je l’exécute dans eclipse mais pas quand je l'exporte en JAR,
    - j ai ajouter derby.jar et derbyclient.jar au classpath du projet .
    - je met le jar de mon application dans un dossier contenant la base de donnée et les 2 fichiers (derby.jar et derbyclient.jar)

    je sais pas ce que il faut faire d'autre ?

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Tu pourrais peut être expliquer un peu plus ce que tu veux dire par "ne fonctionne pas"
    Montrer aussi une erreur si tu en as, etc ...
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par paissad Voir le message
    Tu pourrais peut être expliquer un peu plus ce que tu veux dire par "ne fonctionne pas"
    Montrer aussi une erreur si tu en as, etc ...
    par ne fonctionne pas je vous dire :
    j ai dans ma base de données une table personne (nom , prenom , age ) et mon application va chercher un valeur dans cette table et les affiche dans 3 JTextField , donc quand j’exécute l'application dans eclipse sa fonction nickel, mais le but de l'utilisation d une bdd embarquée c'est bien la distribution de l'application (pour des client ) sous forme de jar . et c'est la que sa coince, pour les erreur je sais pas comment faire pour les afficher en exécutant mon JAR vu que dans eclipse il y a pas d'erreurs .

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Cela ressemble fort à un problème traité dans cette autre discussion
    dans cette autre discussion, l'IDE est NetBeans mais le problème est identique.

    Je te recommande d'examiner le code exemple qui permet de faire fonctionner
    une base embarquée
    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
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Cela ressemble fort à un problème traité dans cette autre discussion
    dans cette autre discussion, l'IDE est NetBeans mais le problème est identique.

    Je te recommande d'examiner le code exemple qui permet de faire fonctionner
    une base embarquée
    merci pour t as réponse , en fait j ai déja lu cette discussion avant de poster et le probleme c que quand je regarde cette discussion j ai tout bon, mais ca ne marche toujours pas .
    je reformule ma question pour les gens qui on déjà utiliser derby, comment vous faite pour exporter et distribuer vos application ? y a t il des chose a changer dans la procedure d'exportation d'eclipse par rapport aux autres applications ?
    merci a tous

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Pour identifier les erreurs qu'il y a dans la distribution,
    tu peux les rediriger dans un fichier texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PrintStream Ps_err;
    Ps_err = new PrintStream(new FileOutputStream("Err.txt"));
    System.setErr(Ps_err);
    Comme ça, tous les printStackTrace irons dedans et tu pourras les examiner.

    Tu peux rediriger aussi le System.out.println :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PrintStream Ps_out;
    Ps_out= new PrintStream(new FileOutputStream("out.txt"));
    System.setOut(Ps_out);
    quand tu lances ta distributions, les fichiers Err.txt et out.txt contiendrons les erreurs et les println
    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/

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    j ai ajouter des JOptionPane dans les catch de exception, et l'exception levée et ClassNotFoundException
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      catch (ClassNotFoundException cnfe) {
     
    	            JOptionPane.showMessageDialog(null,"org.apache.derby.jdbc.EmbeddedDriver pas trouvé ...");
    	            cnfe.printStackTrace(System.err);
    	        }
    et ce message n apparait pas quand j exécute dans eclips

  8. #8
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Le message est clair ... le .jar de derby dont tu as tant besoin n'est pas présent dans ton CLASSPATH.
    Si tu veux qu'il soit présent, faudrait montrer comment tu as packagé ton appli par exemple
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  9. #9
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Sans connaître Eclipse, je subodore qu'il doit avoir, comme NetBeans un serveur Derby intégré
    qui fait que tu peux travailler sans problème quand tu es en développement.

    Résultat, il faut faire comme dans le post de l'autre discussion.

    Il faut que tu ais Derby.jar dans ta distribution
    et pas seulement DerbyClient.jar
    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/

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Sans connaître Eclipse, je subodore qu'il doit avoir, comme NetBeans un serveur Derby intégré
    qui fait que tu peux travailler sans problème quand tu es en développement.

    Résultat, il faut faire comme dans le post de l'autre discussion.

    Il faut que tu ais Derby.jar dans ta distribution
    et pas seulement DerbyClient.jar
    j les ai tout les deux derby.jar et derbyclient.jar , je les ai rajouter au classpath de mon projet eclipse, dans la distribution je les ai met (les 2) dans un dossier lib
    je sais pas s il faut ajouter une variable d'environnement

  11. #11
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    fait voir le code
    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/

  12. #12
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    fait voir le code
    voici le 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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileOutputStream;
    import java.io.PrintStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Properties;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    public class derby extends JFrame implements ActionListener{
    	JPanel pan ;
    	JTextField t1,t2,t3;
    	JButton b1,b2;
     
    	 private String driver = "org.apache.derby.jdbc.EmbeddedDriver";
    	    private String protocol = "jdbc:derby:";
    	    private String dbname="personn";
     
    	    Connection conn = null;
    	    Statement stat ;
    		ResultSet res ;
     
     
    		int i =0;
     
    	public derby(){
     
    		setSize(300,200);
    		setTitle("Gestion");
     
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		pan = new JPanel();
    		setContentPane(pan);
    		b1 = new JButton("ok");
    		t1 = new JTextField("a",8);
    		t2 = new JTextField("b",8);
    		t3 = new JTextField("c",8);
    		pan.add(t1);pan.add(t2);pan.add(t3);
    		pan.add(b1);
    		b1.addActionListener(this);
    		this.setVisible(true);
     
     
    	}
    	public void actionPerformed(ActionEvent e){
    		if(e.getSource()==b1)
     
    		{  
    			try {
    			  Properties props = new Properties();
    			  props.put("user", "karim");
    			  props.put("password", "");
     
    	            Class.forName(driver).newInstance();
     
    	           conn= DriverManager.getConnection(protocol + dbname
    	                    + ";create=true", props);
    	            stat = conn.createStatement();
     
    	            //stat.execute("create table perrrt (nom varchar(40), prenom varchar(40), age int)");
    	            // la table est deja cree
     
    	            System.out.println("Created table per");
     
      //stat.executeUpdate(" insert into perr (nom,prenom,age) values ('"+t1.getText()+"', ' "+t2.getText()+"', "+t3.getText()+")");
     
    	            System.out.println("Created table insertion");
     
    	          res = stat.executeQuery("select * from perr");
     
     
    	            while(res.next() ){
     
    	            	System.out.println("la personne "+res.getString("nom")+" "+res.getString("prenom")+" "+res.getString("age"));
    	            	if(i==0){t1.setText(res.getString("nom"));
    	            	t2.setText(res.getString("prenom"));
    	            	t3.setText(res.getString("age"));}
    	            	i++;
    	            	System.out.println("i = "+i);
     
    	            }
     
    	        }
    		  catch (ClassNotFoundException cnfe) {
     
    	            JOptionPane.showMessageDialog(null,"org.apache.derby.jdbc.EmbeddedDriver pas trouvé ...");
    	            cnfe.printStackTrace(System.err);
    	        } catch (InstantiationException ie) {
    	            System.err.println(
    	                        "\nUnable to instantiate the JDBC driver " + driver);
    	            ie.printStackTrace(System.err);
    	        } catch (IllegalAccessException iae) {
    	            System.err.println(
    	                        "\nNot allowed to access the JDBC driver " + driver);
    	            iae.printStackTrace(System.err);
    	        }
    	        catch (SQLException sqle)
    	        {
    	        	System.out.println("connexion impossible");
    	        	 JOptionPane.showMessageDialog(null,"erreur sql ...");
    	        }
     
    	}}
     
    	public static void main(String[]args){
    		new derby();
    	}
     
    }

  13. #13
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Attention, dans ton message d'erreur tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JOptionPane.showMessageDialog(null,"org.apache.derby.jdbc.EmbeddedDriver pas trouvé ...");
    de sorte que s'il y a une erreur, il te dit toujours "org.apache.derby.jdbc.EmbeddedDriver pas trouvé ..."
    même s'il s'agit d'une autre erreur.
    remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JOptionPane.showMessageDialog(null,cnfe.getMessage());
    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/

  14. #14
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    Attention, dans ton message d'erreur tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JOptionPane.showMessageDialog(null,"org.apache.derby.jdbc.EmbeddedDriver pas trouvé ...");
    de sorte que s'il y a une erreur, il te dit toujours "org.apache.derby.jdbc.EmbeddedDriver pas trouvé ..."
    même s'il s'agit d'une autre erreur.
    remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JOptionPane.showMessageDialog(null,cnfe.getMessage());
    le message d'erreur est le suivant org.apache.derby.jdbc.embeddedDriver

  15. #15
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Par ailleurs, ajouter Derby.jar "à la main" dans le répertoire lib ne suffit pas
    car il doit être référencé dans MANIFEST.MF qui se trouve dans le fichier jar de ton application (fabriqué par Eclipse)

    c'est probablement de là que vient le problème.

    Je ne connais pas Eclipse mais il doit y avoir un endroit où tu lui dit quelles bibliothèques tu utilises
    Il faut être sûr qu'au moment de la fabrication de la distribution, Eclipse place bien Derby.jar 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/

  16. #16
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    comme je n'arrive pas avec eclipse je vais passer a netbeans.
    question a Népomucène , que faut il faire pour exporter cette appli avec netbeans ? en plus quand je copie ce code dans netbeans ca m'affiche une erreur sur les import

  17. #17
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Citation Envoyé par ssk2510 Voir le message
    comme je n'arrive pas avec eclipse je vais passer a netbeans.
    Ben ... il serait plus simple de poser la question dans le forum Eclipse :
    Comment je fais pour ajouter ClientDerby.jar et Derby.jar à mon projet
    pour les avoir bien comme il faut dans ma distrib'


    Comme je suppose que c'est une question basique tu devrais avoir une réponse rapide.

    Bon si tu veux le faire dans NetBeans (on suppose que tu as la version en anglais) :
    1) clic-droit sur le projet -> properties -> librairies -> Add Jar/Folder
    là, tu lui ajoutes ClientDerby.jar et Derby.jar

    2) dans ton code que tu as déjà copié/collé et qui te mets des erreurs :
    Ctrl+Maj+I pour régler les imports
    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/

  18. #18
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Points : 35
    Points
    35
    Par défaut
    enfin ça marche avec netbeans ( donc le problème venait d'eclips mon IDE préférer ) merci a tous pour vos réponses
    quand je pense que j ai passer 4 jours sur ça

  19. #19
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    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 711
    Points : 4 797
    Points
    4 797
    Par défaut
    Allons, allons,
    avant de répudier ton épouse ton IDE, tu devrais tout de même poser la question sur le forum Eclipse ...
    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/

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

Discussions similaires

  1. Compiler une application utilisant GTK+ avec MinGW
    Par lilivounet dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 19/06/2009, 14h42
  2. [Windows]Compiler une application utilisant gtk avec msys et mingw
    Par lilivounet dans le forum GTK+ avec C & C++
    Réponses: 18
    Dernier message: 26/04/2009, 20h24
  3. Réponses: 1
    Dernier message: 03/07/2007, 13h12
  4. Réponses: 1
    Dernier message: 23/04/2007, 11h19
  5. Installer une application utilisant qt
    Par X Trips dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 13/09/2005, 20h49

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