tables new manager importar exportar example dt_str dt_numeric destination deploy datos create could con sql-server xml web-services ssis xmltask

sql-server - manager - ssis excel destination create new file



Conversión de datos a través de tareas XML con SSIS (3)

He consumido un servicio web simple para agregar números y devuelve el resultado en una variable que está en el siguiente formato

<?xml version="1.0" encoding="utf-16"?> <int>35</int>

Entonces, cuando intento insertar este 35 en la base de datos a través de la tarea Ejecutar SQL, todo el contenido xml se inserta en la base de datos, así que utilicé XML Tsk entre la tarea del servicio web y la tarea Ejecutar SQL, su captura de pantalla es la siguiente,

Aún así, no puede obtener el valor del nodo que es 35 para insertarlo en la base de datos.


Puede usar una TAREA DE EJECUCIÓN SQL y usar un código similar a este en la tarea:

DECLARE @xml xml SET @xml = ''<?xml version="1.0"?> <int>35</int>'' SELECT @xml.value(''int[1]'',''int'')

Por supuesto, deberá modificar esa consulta para insertar y modificar la variable @xml en su variable de origen. Solo estoy tratando de señalarte en la dirección correcta.

Raj


Debe cambiar el valor de ''SecondOperand'' a // int

Si desea guardar el resultado, configure las propiedades ''OperationResult''.


Reshma, tienes cuatro preguntas abiertas sobre este mismo tema y es muy confuso. No haga más preguntas hasta que haya resuelto su problema por completo. En su caso, puede usar exactamente el mismo método que describí en

Insertar datos en SQL Server desde variables a través de SSIS

Para generar la cadena que sugirió Raj, ejecute eso en una tarea SQL de ejecución y capture el resultado.

La solución trivial alternativa es usar expresiones de cadena para extraer el número del XML. pero eso no es destrucción de XML "adecuada".

¿Puedes aclarar si hay alguna necesidad comercial detrás de esto o solo estás aprendiendo sobre XML? SSIS no es la mejor herramienta para triturar y procesar XML.