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 :

JDBC dans un .jar


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut JDBC dans un .jar
    Bonjour,
    J'ai créé un programme qui interagit avec une base de données. J'aimerai créer un .jar afin d'emporter ce programme sur différents PC. Je travail avec Eclipse donc la génération d’un .jar est rapide mais ce .jar ne prend pas en compte la base de données. Si l’on lance le .jar sur un autre PC l’interaction avec la base de données ne se fait pas.
    Comment faire pour intégrer ma base de données à mon .jar ?
    J’utilise PostgreSQL comme JDBC.

    Merci d’avance.

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    les fichier de la base de donnée doivent rester a l'extérieur de ton archive

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    bonjour,
    je pense que netbeans crée le .jar automatiquement.
    Sinon, je crois qu'il faut ajouter le driver jdbc.postgre.

  4. #4
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    il te faut juste d'intégrer le jar du driver dans ton jar (le jar de l'application)
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Merci pour ces réponses.
    Comment fait-on pour mettre le driver dans mon jar sachant que je suis sous windows ?
    Et en plus du driver, est-ce qu'il faut intégrer les tables de ma base de données?

  6. #6
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par Tengen Voir le message
    Merci pour ces réponses.
    Comment fait-on pour mettre le driver dans mon jar sachant que je suis sous windows ?
    salut.
    tu peux utiliser FatJar pour inclure le jar
    du driver.

    Citation Envoyé par Tengen Voir le message
    Et en plus du driver, est-ce qu'il faut intégrer les tables de ma base de données?
    on t'as déjà répondu sur cette question

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par slim_java Voir le message
    salut.
    tu peux utiliser FatJar pour inclure le jar du driver.
    Merci mais je n'arrive pas à intégrer le driver dans mon jar, je créer le jar de mon projet et ensuite je doit faire quoi ?

    Citation Envoyé par slim_java Voir le message
    on t'as déjà répondu sur cette question
    Excuse-moi j'été persuader qu'il fallait les intégrer

  8. #8
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par Tengen Voir le message
    Merci mais je n'arrive pas à intégrer le driver dans mon jar, je créer le jar de mon projet et ensuite je doit faire quoi ?
    salut
    ma solution était de créer ton jar avec FatJar qui va te donner la main pour intégrer le jar de ton driver.

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Je créer le jar de mon projet, puis je créer un projet ou j'importe ce jar et le driver. Dans ce nouveau projet j'appelle le main de mon jar. Ca ne marche pas, où est-ce que j'ai fait une erreur ?

  10. #10
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    exécute ton jar en ligne de commande pour savoir l'erreur

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Comment execute-on un jar en ligne de commande sous windows ? Et quel commande utilisé ?

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Il faut ajouter le pilote JDBC, s'il s'agit d'un SGBD ORACLE vous pouvez utiliser le lien suivant:
    http://www.oracle.com/technology/sof...dbc/index.html

    Il faut déterminer la version d'oracle et de jdk que vous utilisez.

  13. #13
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par Tengen Voir le message
    Comment execute-on un jar en ligne de commande sous windows ? Et quel commande utilisé ?
    salut.
    c'est ici

  14. #14
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    J'ai trouvé comment executer le jar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Exception in thread "main" java.lang.NoClassDefFoundError: Test_fat/jar
    Caused by: java.lang.ClassNotFoundException: Test_fat.jar
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: Test_fat.jar.  Program will exit.

  15. #15
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    tu dois choisir un " fichier unique " dans fatjar et tu dois spécifier ta classe Test_fat.jar

  16. #16
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Sur mon PC, je n'ai aucune erreur mais dès que je passe sur un autre :

    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
    org.postgresql.util.PSQLException: Connexion refusÚe. VÚrifiez que le nom de mac
    hine et le port sont corrects et que postmaster accepte les connexions TCP/IP.
            at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(Conne
    ctionFactoryImpl.java:136)
            at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactor
    y.java:66)
            at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Conn
    ection.java:125)
            at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Conn
    ection.java:30)
            at org.postgresql.jdbc3.Jdbc3Connection.<init>(Jdbc3Connection.java:24)
            at org.postgresql.Driver.makeConnection(Driver.java:393)
            at org.postgresql.Driver.connect(Driver.java:267)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at administrateur.Connect.main(Connect.java:21)
            at administrateur.Fenetre.<init>(Fenetre.java:20)
            at administrateur.TestFenetreAdministrateur.main(TestFenetreAdministrate
    ur.java:7)
            at TestAdmin.main(TestAdmin.java:10)
    Caused by: java.net.ConnectException: Connection refused: connect
            at java.net.PlainSocketImpl.socketConnect(Native Method)
            at java.net.PlainSocketImpl.doConnect(Unknown Source)
            at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
            at java.net.PlainSocketImpl.connect(Unknown Source)
            at java.net.SocksSocketImpl.connect(Unknown Source)
            at java.net.Socket.connect(Unknown Source)
            at java.net.Socket.connect(Unknown Source)
            at java.net.Socket.<init>(Unknown Source)
            at java.net.Socket.<init>(Unknown Source)
            at org.postgresql.core.PGStream.<init>(PGStream.java:62)
            at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(Conne
    ctionFactoryImpl.java:76)

  17. #17
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Lorsque je veut me connecter à ma base de données, j'utilise l'URL suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String url = "jdbc:postgresql://localhost:5432/mabase";
    Le fait que ce soit en localhost poserai-t-il problème ?

  18. #18
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Evidement que "localhost" va poser problème.
    Pour chaque machine, localhost represente l'adresse ip de cette même machine.
    Il faut donc mettre l'adresse ip réelle du serveur de base de données.

    Pour le problème initial, le plus simple pour intégrer les jars connexes dans ton jar est de faire un export -> Runnable JAR File.

    Un autre point, il faut créer un fichier manifest.mf pour désigner la classe initiale à lancer.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Ma base de données est en local, pas sur un serveur.

  20. #20
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    salut
    tu peux essayer ton application en changent le numéro de port et localhost vers 127.0.0.1..c'est pas évident que ça résout le problème mais bon

Discussions similaires

  1. Après export, mon driver JDBC n'est pas dans le JAR
    Par jmnicolas dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 10/07/2008, 09h37
  2. Réponses: 3
    Dernier message: 24/11/2006, 11h12
  3. [Jar][Classpath]Pb chargement resource classpath dans un jar
    Par Pill_S dans le forum Général Java
    Réponses: 20
    Dernier message: 01/10/2004, 20h12
  4. [JAR] Accéder à un fichier dans un jar
    Par Nanoua dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 06/07/2004, 13h00
  5. [jar] BufferedImage issue d'un .jpeg dans un jar
    Par tit_henry dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 13/05/2004, 10h09

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