L'obtention de Schéma XML à partir de Base de données MS SQL
Est-il possible de générer un Schéma XML d'une Base de données par programmation .Net et C#? Je veux regarder dans NDbUnit mais pour les grosses bases de données, il ne serait pas vraiment possible de faire un Schéma manuellement?
createtable Person
(
Age int notNULLcheck( Age >0),
Height numeric(10,2)notNULLcheck( Height >5),
Gender varchar(5)notnullcheck( Gender in('M','F','O')),
BirthDate datetime null,)DECLARE@schemaxmlSET@schema=(SELECT*FROM Person FORXML AUTO, ELEMENTS, XMLSCHEMA('PersonSchema'))select@schema
Petite note à la méthode native: cette requête retournera en effet le schéma XML de la table, mais aussi de toutes les données qu'il contient. Pour obtenir uniquement le schéma, remplacer "SELECT * from" avec "SELECT TOP 0 * à PARTIR de".
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 withschemafrom query
results.WriteXmlSchema(mySchema);
Problème est, comment pourrais-je adapter cette méthode afin qu'elle puisse être utilisée en une quantité indéterminée de tables? Sans la construction d'une chaîne de caractères si concaténation qui n'est pas exactement l'idéal!
Utilisation MyGeneration est tapé base de données-modèle d'auto-générer le fichier XSD (http://www.mygenrationssoftware.com). Son gratuit, OSS, et fonctionne très bien. Aussi, le NDbUnit équipe travaille actuellement sur un outil de NDbUnit qui permettra non seulement d'extraire le schéma de la base de données, mais aussi de modifier les données de test qui est contenue dans l'accompagnement dataset XML. ETA de cet outil est d'environ la mi-juillet.
Il est sûr, XMLSpy peut générer Schéma XML à partir d'une base de données.
Il y a une autre façon, bien que je ne l'ai jamais testée:
OriginalL'auteur George Stocker
Je pouvais le faire comme ceci:
Problème est, comment pourrais-je adapter cette méthode afin qu'elle puisse être utilisée en une quantité indéterminée de tables? Sans la construction d'une chaîne de caractères si concaténation qui n'est pas exactement l'idéal!
OriginalL'auteur Damien
Utilisation MyGeneration est tapé base de données-modèle d'auto-générer le fichier XSD (http://www.mygenrationssoftware.com). Son gratuit, OSS, et fonctionne très bien. Aussi, le NDbUnit équipe travaille actuellement sur un outil de NDbUnit qui permettra non seulement d'extraire le schéma de la base de données, mais aussi de modifier les données de test qui est contenue dans l'accompagnement dataset XML. ETA de cet outil est d'environ la mi-juillet.
OriginalL'auteur sbohlen