Question

J'ai un ensemble de fichiers XSD à partir desquels je génère des classes d'accès aux données, des procédures stockées, etc. "

Ce que je n'ai pas, c'est un moyen de générer une table de base de données à partir de ceux-ci. Existe-t-il un outil qui générera les instructions DDL pour moi?

Ce n'est pas la même chose que Créer une table de base de données à partir d'une table de jeux de données . comme je n'ai pas de tables de jeux de données, mais XSD.

Était-ce utile?

La solution

Produit commercial: le XML Spy d'Altova.

Notez qu’il n’ya pas de solution générale à ce problème. Un fichier XSD peut facilement décrire quelque chose qui ne correspond pas à une base de données relationnelle.

Vous pouvez essayer d’automatiser " Pour cela, vos fichiers XSD doivent être conçus avec une base de données relationnelle en tête, sinon cela ne fonctionnera pas bien.

Si les fonctions XSD ne correspondent pas parfaitement, vous devrez (1) concevoir un type de mappage, puis (2) écrire votre propre application pour traduire les XSD en DDL.

Été là, fait ça. Travail à la location - pas de source ouverte disponible.

Autres conseils

Il existe un outil de ligne de commande appelé XSD2DB , qui génère une base de données à partir de fichiers xsd, disponible à l'adresse sourceforge. .

J'utilise XSLT pour le faire. Rédigez votre XSD, puis transmettez vos modèles de données via un XSLT écrit à la main qui génère des commandes SQL. Écrire un XSLT est bien plus rapide et réutilisable qu’un programme / script personnalisé que vous pourriez écrire.

Du moins, je le fais au travail et, grâce à cela, j'ai eu le temps de passer du temps sur SO:)

Les schémas XML décrivent les modèles de données hiérarchiques et peuvent ne pas correspondre parfaitement à un modèle de données relationnel. Mapper des fichiers XSD sur des tables de base de données est très semblable aux objets de mappage. En fait, vous pouvez utiliser un framework comme Castor qui permet à la fois de prendre un schéma XML et de générer des classes, des tables de base de données et du code d'accès aux données. Je suppose qu’il existe à présent de nombreux outils qui font la même chose, mais il y aura une courbe d’apprentissage et les mappages par défaut donneront l’impression de ne pas être ce que vous voulez, vous devez donc passer du temps à personnaliser l’outil que vous utilisez.

XSLT pourrait être le moyen le plus rapide de générer exactement le code que vous souhaitez. S'il s'agit d'un petit schéma, le codage en dur est peut-être plus rapide que l'évaluation et l'apprentissage de nouvelles technologies.

La meilleure façon de créer le schéma de base de données SQL à l'aide d'un fichier XSD est un programme appelé Altova XMLSpy. C'est très simple:

  1. Créer un nouveau projet
  2. Dans le dossier DTDs / Schemas, cliquez avec le bouton droit de la souris et sélectionnez Ajouter des fichiers
  3. Sélectionne le fichier XSD
  4. Ouvrez le fichier XSD ajouté en double-cliquant sur
  5. Accédez à la barre d’outils et recherchez Conversion
  6. .
  7. Ils sélectionnent Créer une base de données de structures à partir d'un schéma XML
  8. Sélectionne la source de données
  9. Et enfin, donnez-lui d'exporter les appels de route, laissez immédiatement leurs schémas de script avec SQL Server pour exécuter la requête.

J'espère que ça aide.

Créez un modèle Java à l'aide d'Axis wsdl2java (qui peut contenir des fichiers .xsd).

Utilisez un outil de génération de base de données pour Java qui intègre un modèle Java. Quelque chose comme Hibernate peut le faire? J'ai écrit mon propre outil (cela prend quelques jours et aussi du code CRUD en Java) pour gagner du temps au travail, peut-être que ce serait un beau projet personnel?

Ou faites-le simplement manuellement pour vérifier que tout est correct et bon! Les outils de base de données sont suffisamment performants pour vous permettre de créer des tables pour un modèle sans trop de problèmes.

Pourriez-vous jeter un coup d'œil à l'outil XSD dans Visual Studio 2k8 ... J'ai créé un jeu de données relationnel à partir d'un xsd et cela pourrait vous aider d'une manière ou d'une autre.

hyperjaxb (versions 2 et 3) génère en fait des fichiers de mappage Hibernate et des objets d'entité associés et effectue également un test d'aller-retour pour un fichier XSD et un exemple de fichier XML donnés. Vous pouvez capturer la sortie du journal et consulter les instructions DDL par vous-même. J'ai dû les modifier un peu, mais cela vous donne une impression bleue de base pour commencer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top