Pregunta

Tengo un conjunto de XSD a partir de los cuales genero clases de acceso a datos, procedimientos almacenados y más.

Lo que no tengo es una forma de generar una tabla de base de datos a partir de estos: ¿hay alguna herramienta que genere las declaraciones DDL para mí?

Esto no es lo mismo que Crear tabla de base de datos a partir de la tabla de conjunto de datos , ya que no tengo tablas de datos, sino XSDs.

¿Fue útil?

Solución

Producto comercial: Spy XML de Altova.

Tenga en cuenta que no hay una solución general para esto. Un XSD puede describir fácilmente algo que no se asigna a una base de datos relacional.

Si bien puede intentar " automatizar " esto, su XSD debe diseñarse con una base de datos relacional en mente, o no funcionará bien.

Si los XSD tienen características que no se asignan bien, deberá (1) diseñar un mapeo de algún tipo y luego (2) escribir su propia aplicación para traducir los XSD a DDL.

He estado allí, hecho eso. Trabajo en alquiler - no hay código abierto disponible.

Otros consejos

Hay una herramienta de línea de comandos llamada XSD2DB , que genera una base de datos a partir de archivos xsd, disponible en sourceforge .

Yo uso XSLT para hacer eso. Escriba su XSD y luego pase sus modelos de datos a través de un XSLT escrito a mano que genera comandos SQL. Escribir un XSLT es mucho más rápido y reutilizable que un programa / script personalizado que puede escribir.

Al menos así es como lo hago en el trabajo, y gracias a eso tengo tiempo para quedarme en SO :)

Los esquemas XML describen modelos de datos jerárquicos y es posible que no se correspondan bien con un modelo de datos relacionales. La asignación de XSD a las tablas de la base de datos es muy similar a la asignación de objetos a las tablas de la base de datos, de hecho, podría usar un marco como Castor que hace ambas cosas, le permite tomar un esquema XML y generar clases, tablas de base de datos y código de acceso a datos. Supongo que ahora hay muchas herramientas que hacen lo mismo, pero habrá una curva de aprendizaje y las asignaciones predeterminadas no serán lo que usted desea, por lo que debe dedicar tiempo a personalizar cualquier herramienta que use.

XSLT puede ser la forma más rápida de generar exactamente el código que desea. Si se trata de un pequeño esquema de codificación, podría ser más rápido que evaluar y aprender un montón de nuevas tecnologías.

La mejor manera de crear el esquema de base de datos SQL usando un archivo XSD es un programa llamado Altova XMLSpy, esto es muy simple:

  1. Crear un nuevo proyecto
  2. En la carpeta DTDs / Schemas haciendo clic con el botón derecho y seleccionando agregar archivos
  3. Selecciona el archivo XSD
  4. Abra el archivo XSD agregado haciendo doble clic
  5. Vaya a la barra de herramientas y busque Conversión
  6. Seleccionan Crear base de datos de estructura a partir del esquema XML
  7. Selecciona la fuente de datos
  8. Y finalmente dale para exportar las llamadas de ruta, deja inmediatamente sus esquemas de scripts con SQL Server para ejecutar la consulta.

Espero que ayude.

Cree un modelo Java usando Axis wsdl2java (que puede admitir archivos .xsd).

Use una herramienta de generación de base de datos para Java que incluya un modelo Java. Seguramente algo como Hibernate puede hacer esto? Escribí mi propia herramienta (toma un par de días, también genera código CRUD en Java) para ahorrarme tiempo en el trabajo, ¿tal vez este sería un proyecto personal agradable?

¡O simplemente hazlo manualmente para que puedas comprobar que todo es correcto y bueno! Las herramientas de la base de datos son lo suficientemente buenas ahora que puede comprimir mediante la creación de tablas para un modelo sin demasiados problemas.

Podría echar un vistazo a la herramienta XSD en el estudio visual 2k8 ... He creado un conjunto de datos relacionales desde un xsd y podría ayudarlo de alguna manera.

hyperjaxb (versiones 2 y 3) en realidad genera archivos de mapeo de hibernación y objetos de entidad relacionados y también realiza una prueba de ida y vuelta para un XSD y un archivo XML de muestra. Puede capturar la salida del registro y ver las declaraciones DDL por sí mismo. Tuve que modificarlos un poco, pero para empezar te da una idea básica básica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top