2009-04-14 8 views
0

J'ai une table sql server 2005 avec un magasin xml dans un champ de texte. Je me demande s'il existe un moyen facile (en utilisant TSQL) de récupérer la valeur a à partir des données xml sans effectuer une analyse ligne par ligne du texte?interroger le magasin xml dans un champ de texte

Faire une analyse ligne par ligne est une possibilité car la quantité de xml est assez petite. Cependant, si possible, je voudrais trouver une méthode plus performante.

REMARQUE: Le fichier XML a été créé au moyen d'une fonction FoxPro CURSORTOXML (dans une application frontale FoxPro) et a ensuite été enregistré dans un champ de texte dans une table de serveur SQL. Le schéma XML est intégré dans le fichier XML stocké.

Toutes les suggestions seraient appréciés!

Répondre

1

Vous pouvez extraire les données XML de la colonne et les convertir en le type de données XML, et interroger le XML facilement à l'aide de XQuery ou utiliser XPath pour en extraire des valeurs.

XML Support In SQL Server 2005

par exemple,

DECLARE @xml XML 
Select @xml = CAST(ColData AS XML) 
@xml.value('<xquery expression goes here>'); 
1

Oui. Un exemple ici « Importing XML into SQL Server » et une autre « Search XML in SQL Server »

Sinon, s'il vous plaît pouvez-vous envoyer le code XML et nous pouvons offrir quelques idées ... il existe des solutions légèrement différentes selon que la lecture des valeurs, attributs, hiérarchie, etc.

+0

Merci pour les liens - ils ont aidé. – Clinemi

0

Vous souhaitez effectuer des tests de performances sur les deux solutions (conversion en XML par rapport à l'analyse ligne par ligne).

Questions connexes