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 :

[PB] JDBC + Loadage jar


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut [PB] JDBC + Loadage jar
    Bonjour

    j ai un petit problème j'aimerai faire une application qui puisse loader dynamiquement un .jar comme driver pour le jdbc mais j'y arrive jai pourtant fais ce qu'il y a dans les FAQ mais jai pas reussi auriez vous une idee de pq ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    try {
    			File jarFile = new File ("c:/mysqlbin.jar");
    			URLClassLoader classLoader = new URLClassLoader(new URL[]{jarFile.toURL()});
    			Class pluginClass = classLoader.loadClass("com.mysql.jdbc.Driver");
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    			Connection cnx = DriverManager.getConnection("jdbc:mysql://localhost/test","root", "");
    			final DatabaseMetaData dmd = cnx.getMetaData();	
    		}
    		catch(Exception e)
    		{
    			System.out.println(e.getMessage() + " " + e.toString());
     
    		}
    avec en exception :

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    merci d avance

  2. #2
    Membre confirmé Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Points : 570
    Points
    570
    Par défaut
    Question bête : es tu sur que ta classe est bien dans ton jar ?
    Les deux principales inventions sorties de Berkeley sont UNIX et le LSD. Difficile de croire à une quelconque coïncidence - Jeremy S. Anderson

    Avant de vouloir qu’un logiciel soit réutilisable, il faudrait d’abord qu’il ait été utilisable - Ralph Johnson

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    bah vi jai verifie
    c celui de mysql
    je l ai juste renome

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    je voudrais juste charge le jar
    dynamiquement et utiliser le driver
    ca dois quand meme pas être la mer
    a boire a faire en java non ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    On ne charge pas de jar...
    On charge une classe dans un classloader donné, au plus.

    On ne décharge pas une classe, on décharge un classloader, au moins.

    Tu veux charger une classe spécifique ? et bien coté code cela donne
    Class.forName(className) ou ClassForName(className, classLoader).

    A TOI de mettre le jar contenant la bonne classe dans le chemin de recherche de la JVM (Le classpath)
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    merci de ta reponse
    mais justement ce que je veux
    faire c la / les classes d un jar
    qui n est pas contenu dans le
    classpath de la jvm par defaut.

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Alors tu peu pas !
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    bah sur le site de sun
    ils font voir un exemple ou il charge des
    classes d un jar depuis une url internet
    donc bon :/

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Au travers d'un classloader spécifique !
    Donc pas standard !!!
    Non ?

    Y'as pas une sorte d'UrlClassLoader ?
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    oui il y a de ca
    mais moi par exemple j aimerais
    bien le faire avec un
    fichier en local
    qui n est pas dans le classpath

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    URL == Unified Ressource Locator !
    URL != Adresse internet

    URL valide locale = file://monrepertoire/monfichier.txt
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    merci ca je sais
    mais alors comment faudrait il
    que je m'y prenne ?

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Citation Envoyé par dragogo
    merci ca je sais
    Tu as un class loader qui sais charger dynamiquement des JAR
    Il charge les jars à partir d'une URL
    Tu sais écrire une URL, même locale...

    Où est le problème ???
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    bah mon probleme que ca marche
    pas :/ enfin je my prend peut etre mal

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forname("com.mysql.jdbc.Driver",classLoader);
    ça donne quoi ?
    Pourquoi un newInstance(); ?
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  16. #16
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    ca pete pas la
    ca pete plus tard au comment ou je cree la connection
    il me dis qu il trouve pas
    le driver concernant
    le new instance je l ai
    mis car sur la faq jdbc il dise
    qu il vaut mieux mettre ca

    donc j ai teste ...

  17. #17
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    ...
    A réviser donc,
    - les classloaders et leur système hierarchique
    - Le chargement dynamique des classes dans les classloader (non standard)

    Dans la spec de JDBC éditée par sun, il es expliqué le pourquoi du comment la classe ne fonctionne pas correctement lors d'un chargement d'un driver dans un classloader spécifique. La solution paliative est même donnée !

    Ajout du paramère de VM -Djdbc.drivers=com.mysql.jdbc.Driver

    Cordialement
    Valère
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  18. #18
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    hum hum :/
    et bah je sais pas
    merci quand meme

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/01/2007, 11h12
  2. [débutant] faire un JAR avec les drivers JDBC
    Par korrigann dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 29/11/2006, 17h46
  3. [Driver JDBC] Exécution du jar
    Par gwendo dans le forum JDBC
    Réponses: 2
    Dernier message: 15/06/2006, 16h53
  4. [JDBC et les jar] Fluide, pas fluide...
    Par lmarin dans le forum JDBC
    Réponses: 6
    Dernier message: 24/02/2006, 17h24
  5. [JDBC]connecteur mySQL et jar ?
    Par uliss dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 22/04/2005, 12h11

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