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

Langage Java Discussion :

Vérifier une base de données à partir d'un xsd (ou autre) ?


Sujet :

Langage Java

  1. #1
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut Vérifier une base de données à partir d'un xsd (ou autre) ?
    Je cherche un moyen de valider mon schéma de base de données au démarrage. Existe-t'il un outils/une méthode commune pour ce type d'opérations ?

    L'idéal serait de le faire à partir de fichier hibernate (hbm.xml) ou d'une dtd (celle que j'utilise pour mes tests dbunit.

    Mais si quelqu'un a une autre idée, je suis preneur.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Points : 239
    Points
    239
    Par défaut
    Citation Envoyé par hugo123
    Je cherche un moyen de valider mon schéma de base de données au démarrage. Existe-t'il un outils/une méthode commune pour ce type d'opérations ?

    L'idéal serait de le faire à partir de fichier hibernate (hbm.xml) ou d'une dtd (celle que j'utilise pour mes tests dbunit.

    Mais si quelqu'un a une autre idée, je suis preneur.
    Salut,

    L'idée est de récupérer tous les objets de ta BDD (une table, une contrainte, un trigger, c'est un objet aussi surprenant que celà puisse paraître).

    Cas comparaison de table :
    Suivant ta bdd tu dois pouvoir faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sysobjects where type='U' //syntaxe sybase pour récupérer les tables
    .

    Tu peux donc implémenter un petit outil qui va faire un peu de JDBC d'un côté et du parsing XML de l'autre. D'un côté tu auras un tableau de tables issues de ta BDD, de l'autre un tableau de tables issues ton(tes) fichier(s) xml.

    Enfin il ne restera plus qu'à écrire la méthode qui comparera les 2 tableaux.

    Bon courage

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Points : 239
    Points
    239
    Par défaut
    Citation Envoyé par sleepy2002
    Salut,

    L'idée est de récupérer tous les objets de ta BDD.

    Cas comparaison de table :
    Suivant ta bdd tu dois pouvoir faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sysobjects where type='U' //syntaxe sybase pour récupérer les tables
    .

    Tu peux donc implémenter un petit outil qui va faire un peu de JDBC d'un côté et du parsing XML de l'autre. D'un côté tu auras un tableau de tables issues de ta BDD, de l'autre un tableau de tables issues ton(tes) fichier(s) xml.

    Enfin il ne restera plus qu'à écrire la méthode qui comparera les 2 tableaux.

    Ce genre d'outil est très pratique lors de mise en production de nouvelle version. On verifie que la version de prod + delta (nouvelles tables et autres trucs) = version de dev. On évite bcp de pb

    Bon courage

  4. #4
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    je suis tout a fait d'accord sur la méthode et pour le fait de passer par des métadatas de ma base. Mais je me demandais s'il n'existait pas déjà des outils pour ca. Hibernate propose déjà des outils pour générer du sql et créer mon schéma a partir de xml. Dbunit est capable à partir d'une dtd d'insérer un dataset xml en base.
    Je serais donc étonné d'être le premier a avoir ce genre de besoin et je me demandais si un outils n'existait pas déjà ^^

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Points : 239
    Points
    239
    Par défaut
    Citation Envoyé par hugo123
    Je serais donc étonné d'être le premier a avoir ce genre de besoin et je me demandais si un outils n'existait pas déjà ^^
    Salut, j'ai trouvé ça :
    http://www.hibernate.org/hib_docs/v3...lsetguide-s1-9

  6. #6
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Ah super, je vais tester ca. Ca semble effectivement correspondre, je vais regarder le type de sortie que ca donne.

Discussions similaires

  1. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  2. Réponses: 3
    Dernier message: 29/03/2006, 14h23
  3. Creation d'une base de données à partir de delphi
    Par Ethmane dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/11/2005, 15h40
  4. créer une base de donnée à partir d'un script
    Par illegalsene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/08/2005, 14h08
  5. Réponses: 8
    Dernier message: 04/09/2003, 16h07

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