Quel est le meilleur moyen pour enregistrer les données XML dans SQL Server?
Est-il une route directe qui est assez simple? (c'est à dire SQL Server peut lire les données XML)
Ou, est-il préférable de parser le XML et suffit de le transférer dans la manière habituelle via ADO.Net soit comme des lignes individuelles ou peut-être une mise à jour par lot?
Je me rends compte il y a peut être des solutions qui impliquent de grands complexes stockées procs-alors que je ne suis pas entièrement opposés à cela, j'ai tendance à préférer avoir plus de mon activité de logique dans le code C#. J'ai vu une solution à l'aide de SQLXMLBulkLoad, mais il semblait exiger assez complexe de code SQL.
Pour la référence, je vais travailler avec environ 100 lignes à la fois, avec environ 50 petits morceaux de données pour chaque (cordes et des ints). Cela finira par devenir un lot de travail.
Tout les fragments de code que vous pouvez fournir serait très apprécié.
Je suis principalement sur SQL Server 2005, même si j'ai accès à 2008.
OriginalL'auteur alchemical | 2009-04-01
Vous devez vous connecter pour publier un commentaire.
SQL Server 2005 et ont un type de données appelé "XML" qui vous pouvez stocker des données XML dans - non typée ou tapé avec un schéma XSD.
Vous pouvez remplir les colonnes de type de données XML à partir d'un littéral XML chaîne, de sorte que vous pouvez facilement simplement utiliser une normale instruction d'INSERTION et de remplir le contenu XML dans ce domaine.
Marc
Non, il est enregistré comme un fichier XML domaine - vous pouvez l'interroger à l'aide de XPath et XQuery. Quels sont exactement ce que vous cherchez?
OriginalL'auteur marc_s
Vous pouvez utiliser la fonction OPENXML et de la procédure stockée sp_xml_preparedocument de convertir facilement vos données XML dans des ensembles de lignes.
pourquoi pas? Est-il d'un remplacement?
OriginalL'auteur coder
Si vous utilisez SQL Server 2008 (ou 2005), il a un
xml
type de données natif. Vous pouvez associer un schéma XSD avecxml
variables, et de l'Insérer directement dans les colonnes de typexml
.OriginalL'auteur Mitch Wheat
Oui, SQL Server 2005 et ci-dessus peuvent analyser XML hors de la boîte.
Vous utilisez les nœuds, la valeur et les méthodes de requête pour briser la façon dont vous voulez, si les valeurs des attributs ou des
Sans vergogne de brancher:
OriginalL'auteur gbn
De données Xml et le document Xml peut avoir une signification différente.
Lorsque de type xml est bon pour les données, il ne sauve pas la mise en forme (blanc espaces supprimés), de sorte que dans certains cas (par exemple, cofiguration de fichiers), la meilleure option est de type nvarchar.
OriginalL'auteur Roman Pokrovskij