consultar tienda de XML en un campo de texto
-
09-09-2019 - |
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!
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).