¿Es posible generar un esquema XML de una base de datos programáticamente con .Net y C#? Quiero buscar en NDbUnit, pero para las grandes bases de datos, ¿realmente no sería factible hacer un esquema manualmente?Obtención de esquema XML desde la base de datos MS SQL
Respuesta
¿Es posible generar un esquema XML desde una base de datos?
Seguro, XMLSpy puede generar el esquema XML desde una base de datos.
Hay another way, aunque nunca he probado:
create table Person
(
Age int not NULL check(Age > 0) ,
Height numeric(10,2) not NULL check(Height > 5),
Gender varchar(5) not null check(Gender in ('M', 'F', 'O')),
BirthDate datetime null,
)
DECLARE @schema xml
SET @schema = (SELECT * FROM Person FOR XML AUTO, ELEMENTS, XMLSCHEMA('PersonSchema'))
select @schema
que podía hacerlo de esta manera:
DataSet results = new DataSet();
SqlCommand command = new SqlCommand("SELECT * FROM table", new SqlConnection(connectionString));
SqlDataAdapter sqlAdapter = new SqlDataAdapter(command);
sqlAdapter.FillSchema(results, SchemaType.Mapped);//Fills dataset with schema from query
results.WriteXmlSchema(mySchema);
El problema es, ¿cómo podría adaptar este método por lo que podría ser utilizado con una cantidad indeterminada de tablas? ¡Sin construir una cadena a través de concatenación que no es exactamente ideal!
Utilice la plantilla de dataset-tipo de MyGeneration para autogenerar el XSD (http://www.mygenrationssoftware.com). Es gratis, OSS, y funciona genial. Además, el equipo de NDbUnit está trabajando actualmente en una herramienta complementaria para NDbUnit que permitirá no solo extraer el esquema de la base de datos, sino también editar los datos de prueba contenidos en el conjunto de datos XML adjunto. ETA para esta herramienta es a mediados de julio.
- 1. Esquema de la base de datos HR-XML
- 2. ¿Cómo usar la base de datos SQLite desde MS Access?
- 3. Sincronizar datos de MS Access a MS SQL
- 4. Diagrama de esquema de la base de datos desde el servidor SQL
- 5. ms sql xml tipo de datos convertir a texto
- 6. Esquema de la base de datos EtherPad?
- 7. Puede PHP trabajar con una base de datos MS SQL
- 8. Importar base de datos MySQL en un servidor MS SQL
- 9. Consulta SQL para un esquema de base de datos
- 10. esquema, propietario de los objetos en MS SQL
- 11. Cómo construir una base de datos a partir de un esquema XSD e importar datos XML
- 12. ¿Es posible modificar un esquema de base de datos de MS Access usando ADO.NET?
- 13. Esquema de base de datos de muestra para Oracle
- 14. Importar XML a la base de datos SQL
- 15. Recuperar esquema de base de datos
- 16. Diferencias entre la base de datos y el esquema utilizando diferentes bases de datos?
- 17. Almacenamiento de tipo de datos desconocido en la base de datos del servidor MS SQL
- 18. migrar datos de MS SQL a PostgreSQL?
- 19. ¿Cómo llegar al esquema de la base de datos de una base de datos oculta?
- 20. SQL Server 2008 - crear script de base de datos (esquema + datos) con la línea de comandos
- 21. Esquema de la base de datos para almacenar datos SNMP
- 22. ¿Cómo prueba (unidad) el esquema de la base de datos?
- 23. Lea la configuración de .NET desde la base de datos
- 24. Generar esquema de base de datos de la asignación NHibernate
- 25. Completar una base de datos de MS Access en Linux
- 26. Esquema de base de datos para grupos jerárquicos
- 27. Actualizaciones de esquema de base de datos
- 28. Esquema de base de datos de sondeo
- 29. ¿Cómo obtener la lista de tablas en la base de datos, usando MS SQL 2008?
- 30. Mongoose: Esquema de base de datos sugerido
Pequeña nota para el método nativo: esa consulta devolverá el esquema XML de la tabla, pero también cualquier dato que contenga. Para obtener solo el esquema, reemplace "SELECT * FROM" con "SELECT TOP 0 * FROM". –