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 :

[DB2 / Hibernate / Eclipse] Connexion OK mais problème de récuperation du schema


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut [DB2 / Hibernate / Eclipse] Connexion OK mais problème de récuperation du schema
    Bonjour,

    Je vous contacte suite a la perte de tout espoir de voir clair au probleme que je rencontre actuellement..

    Contexte : J'ai une base DB2 sous z/OS a disposition. Actuellement utilisons un serveur JBOSS sous Windows pour gérer la persistance avec Hibernate. Nous tentons de migrer tout cela en s'abstrayant du serveur JBOSS et en attaquant directement DB2 dans notre application.

    Problème : Lorsque je me connecte avec un client lambda (iSQL Viewer), je specifie :
    - le driver que j'utilise : com.ibm.db2.jcc.DB2Driver
    - l'url type : jdbc:db2://yourDbServerUrl:port/databaseName
    - login / pass
    Ca marche parfaitement (non c'est pas ca le probleme)

    En revanche, sous Eclipse 3.6.2, j'ai telecharge le plugin Hibernate Syncronizer en suivant ce tutorial : http://defaut.developpez.com/tutorie...pse/hibernate/

    Lorsque j'arrive a l'etape "3.2.2. Création du fichier de mapping xml" du tuto, lorsque j'appuie sur Refresh, l'etape de la connexion passe avec succes mais il se bloque a "Retrieve table metadata from connection".. Et fait crasher complètement eclipse alors que j'ai utilise le meme driver, meme url, meme id/pass..

    Avez-vous un semblant de piste d’où cela peut venir please ? Car la, je n'ai vraiment aucune idée.

    Merci..

    Edit : Je viens de tester avec une base MySQL avec le driver adequat etc.. et ca marche parfaitement

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    probablement le driver db2 qui merde sur la récupération des métadonnées.
    Pourquoi avez vous besoin de régénérer les fichiers de mapping, puisque votre application tourne déjà ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    C'est pour une refonte de projet en fait, nous passons par un serveur JBOSS aujourd'hui et nous voulons nous en passer, nous essayons d'estimer le temps que cela prendrait pour réécrire l'application en nous passant de ce serveur qui est lourd a gerer pour le client :/

    Pour cela on effectue quelques tests basiques..

    Ce qui me gene c'est qu'avec iSQL Viewer et exactement le même driver cela fonctionne

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    C'est pas parce que vous vous passez de jboss que vous avez esoin de régénérer vos mapping. Hibernate gère le JPA. C'est même hibernate que jboss utilise

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    Nous sommes reparti d'un nouveau projet en fait pour le moment, et la je viens seulement de rajouter la connexion..

    Comment reprendre le mapping du projet initial ? Je n'ai aucun fichier .hbm si j'ai bien compris ce que je devais avoir au final

    Merci pour tes réponses en tout cas !

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    hibernate peut très bien travailler avec les annotation jpa. Hibernate implémente JPA donc c'est pas un problème pour lui.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    D'accord merci, plutot que de recreer un nouveau projet, je vais tenter de repartir sur l'ancien voir ce que ca peut donner..

    Merci !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    Bon et bah finalement j'ai réussi a généré les fichiers hbm.

    J'ai exporte mes tables DB2 puis importe sous MySQL pour ensuite generer le mapping, maintenant qu'il est fait je peux l'utiliser comme je le voulais et poursuivre le tuto !

    Ce qui reste troublant c'est qu'en utilisant le meme driver dans le code, la connection s'effectue parfaitement mais j'ai pas encore ete plus loin.. Peut-etre un bug hibernate/eclipse.. Ou il faudrait installer quelque chose sur le z/OS mais la...

    Merci encore pour ton orientation tchize_

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    ou tout simplement le générateur de mapping utilise des fonctions non supportée du driver et non nécessaires pour faire des requetes SQL

  10. #10
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 950
    Points : 4 373
    Points
    4 373
    Par défaut
    de mémoire :

    a. avec DB2, les droits d'accès de l'utilisateur aux metadata doivent être alloués spécifiquement;

    b. les fonctionnalités (les procédures sous-jacentes) d'accès aux metadata sous z/OS sont considérées comme une installation optionnelle contrairement aux installations sous Windows et Linux.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    Hm normalement pour les droits, je dois avoir ce qu'il faut vu que j'utilise IBMUSER pour l'instant, il est owner de l'instance utilisée, et pour les options, ne semblent-elles pas être installés vu que sous iSQL Viewer cela fonctionne sans probleme ?

    L'avis de tchize_ semble plus plausible mais j'ai un regard encore bien trop extérieur aux systèmes utilisés pour en être certain.. Dommage qu'aucune erreur/exception ne soit levée pour en savoir plus.

    C'est triste qu'on ne nous apprenne plus ça dans les écoles informatiques.. Ne serait-ce qu'une base de connaissance !

  12. #12
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 950
    Points : 4 373
    Points
    4 373
    Par défaut
    Citation Envoyé par chico200987 Voir le message
    Hm normalement pour les droits, je dois avoir ce qu'il faut vu que j'utilise IBMUSER pour l'instant, il est owner de l'instance utilisée, et pour les options, ne semblent-elles pas être installés vu que sous iSQL Viewer cela fonctionne sans probleme ?

    L'avis de tchize_ semble plus plausible mais j'ai un regard encore bien trop extérieur aux systèmes utilisés pour en être certain.. Dommage qu'aucune erreur/exception ne soit levée pour en savoir plus.

    C'est triste qu'on ne nous apprenne plus ça dans les écoles informatiques.. Ne serait-ce qu'une base de connaissance !
    si çà fonctionne dans iSQL Viewer alors oui ce n'est ni un problème de droits liés au compte ni le fait que les fonctionnalités n'auraient pas été activées côté z/OS,

    donc cela laisse comme "next step" :
    iSQLView n'utilise pas le même jar de driver ou pas le même fichier de licence
    ou tout simplement dans la configuration Eclipse, le fichier de licence manque ou n'est pas dans le classpath…
    et le problème peut être simplement que dans le classpath sous Eclipse vous ayez plusieurs versions incompatibles de ces fichiers…

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    Pour iSQL Viewer on doit sélectionner les .jar du driver qu'on choisit, il n'y en a pas par défaut, je sélectionne les mêmes que ceux du classpath de mon projet contenant aussi le jar de licence..

    Lorsque je ne mettais pas le fichier de licence, j'avais bien une exception cette fois lors de l'etape de connexion du type "Fichier db2...licence....jar manquant", maintenant cette etape est passee et c'est lors de la recuperation du schema de la base pour generer le mapping et donc les fichiers .hbm que Eclipse ne répond plus, oblige de killer son processus

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    Je tiens peut-etre un semblant de piste !

    Je viens d'installer Eclipse 3.6.2 tout neuf, j'ai installe JBOSS Tools pour cette version, pour y installer uniquement Hibernate Tools.

    En ajoutant une "Hibernate Console Configuration", le ping de test de la connection se passe parfaitement bien, mais quand je genere le "Hibernate Reverse Engineering File", lors de la recuperation du schema j'obtiens une erreur ! Une vraie de vraie ! (Je ne demandais pas mieux)

    Que voici :

    Je vais tenter de tester sur une nouvelle installation DB2 sur Linux même si la conception n'a strictement rien a voir avec une instance sur z/OS..
    Je retenterai ensuite sur une nouvelle installation DB2 sous z/OS voir ce que ca donne..
    Je vous tiens au courant pour ceux qui auront peut-etre ce genre de probleme, et pour le referencement je recopie le message d'erreur assez explicite : <Reading schema error: Foreign Key Name (INSTID) mapped to different tables! previous: org.hibernate.mapping.Table(DB2OSC.DSN_WCC_RP_STMTS) current:org.hibernate.mapping.Table(DB2OSC.DSN_WCC_STMT_RTDS) >

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 45
    Points : 58
    Points
    58
    Par défaut
    Bon ! Bonne nouvelle, j'ai reussi a faire ce que je voulais sans passer par le DB2 Linux ni la fresh install.

    J'ai tout simplement utilise les drivers DB2 d'IBM Data Studio, et meme si la generation du schema est extremement lente, les classes sont bien générée !

    Cela devait donc bien etre un probleme de driver

    Merci encore pour votre aide !

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

Discussions similaires

  1. Hibernate Eclipse Probleme de connexion Mysql
    Par yLaplace dans le forum Hibernate
    Réponses: 8
    Dernier message: 04/12/2009, 12h49
  2. Problème grave Hibernate+eclipse
    Par raf84 dans le forum Hibernate
    Réponses: 3
    Dernier message: 22/09/2009, 09h58
  3. connexion a une BD avec hibernate eclipse
    Par cyreel dans le forum Hibernate
    Réponses: 5
    Dernier message: 29/08/2008, 16h47
  4. Problème Configuration Hibernate-Eclipse
    Par salirose dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 02/04/2008, 23h58
  5. [Hibernate & Eclipse] problème mapping
    Par sonia_ppr dans le forum Hibernate
    Réponses: 4
    Dernier message: 04/05/2006, 14h32

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