Obtenir un schéma valide de fichiers XML volumineux (1 Go)

sql sqlbulkcopy sqlxml xml xsd

Question

J'ai besoin de charger en bloc d'énormes fichiers XML sur SQL Server 2005. J'ai décidé d'utiliser SQLXMLBULKLOAD dans mon application C #, mais je dois obtenir des schémas xsd valides de ces fichiers xml pour les charger. Quel est le meilleur moyen de générer un fichier xsd? J'ai essayé MS VS xsd.exe, mais il essaie de charger le fichier en mémoire, ce qui provoque une exception OutOfMemory.

Merci!

Réponse acceptée

Dénudez le fichier pour en créer un plus petit, représentatif du tout, puis générez un fichier XSD à partir de celui-ci. Vous pouvez ensuite adapter le résultat si nécessaire.


Réponse populaire

Il existe de nombreux outils pour générer des schémas à partir d'instances, mais je ne sais pas combien d'entre eux sont capables de fonctionner en mode de streaming pur. Un outil qui fonctionnera quelle que soit la taille du fichier est le DTDGenerator qui faisait à l'origine partie de Saxon. Vous pouvez le trouver ici:

http://saxon.sourceforge.net/dtdgen.html

Il produit une DTD plutôt qu'un schéma, mais de nombreux outils sont disponibles pour convertir une DTD en schéma.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi