Pregunta

Tengo una tabla de SQL Server 2005 que tiene tienda de XML en un campo de texto. Me pregunto si hay una manera fácil (usando TSQL) de recuperar el valor de los datos XML sin hacer un análisis línea por línea del texto?

Haciendo un análisis línea por línea es una posibilidad debido a que la cantidad de XML es bastante pequeña. Sin embargo, si es posible me gustaría encontrar un método de mayor rendimiento.

NOTA: El XML fue creado por medio de una función FoxPro CURSORTOXML (en una aplicación front-end FoxPro), y luego se guardó posteriormente a un campo de texto en una tabla de SQL Server. El esquema XML está incorporado como parte del XML almacenados.

Cualquier sugerencia sería apreciada!

¿Fue útil?

Solución

Puede recuperar los datos XML de la columna y convertirlo en el tipo de datos XML, y consultar el XML fácilmente usando XQuery o utilizar XPath para extraer los valores de la misma.

Soporte XML en SQL Server 2005

por ejemplo.

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

Otros consejos

Sí. Un ejemplo de ello " Importación de XML en SQL Server" y otro "Search XML en SQL servidor "

En caso contrario, se puede registrar el XML y que puede ofrecer algunas ideas ... hay un poco diferentes soluciones en función de si la lectura de los valores, atributos, etc jerarquía

Usted tendrá que hacer pruebas de rendimiento en ambas soluciones (convertir a XML vs línea por línea de análisis sintáctico).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top