valor stored salida retornar procedimientos procedimiento parametros para mostrar entrada ejemplo ejecutar devolver datos con almacenados almacenado sql sql-server ssis etl temp-tables

stored - procedimientos almacenados sql



Mapeo de parĂ¡metros usando una tarea Ejecutar SQL (2)

Complete una variable con su secuencia de comandos SQL completa y utilice la variable como SQLSourceType en su tarea Ejecutar SQL.

Estoy intentando crear una tabla temporal e insertar datos en la tabla temporal dentro de una tarea Ejecutar SQL dentro de un contenedor de bucle foreach.

Aquí están las tareas sql

IF OBJECT_ID(''TEMPDB.DBO.#TEMP'') IS NOT NULL DROP TABLE #TEMP GO CREATE TABLE #TEMP ( ... ); INSERT INTO #TEMP SELECT (...) FROM table t1 INNER JOIN table2 t2 ON t1.id = t2.table1_id WHERE t1.value = ?

Quiero tener un parámetro en la cláusula WHERE, pero cada vez que intento agregarlo obtengo este error.

"La operación OLE DB de varios pasos generó errores. Verifique el valor de estado de OLE DB, si está disponible. No se realizó ningún trabajo". Posibles motivos de falla: problemas con la consulta, la propiedad "ResultSet" no está configurada correctamente, los parámetros no están configurados correctamente o la conexión no está establecida correctamente. "

Cuando codigo el valor en la Cláusula Where, el inserto funciona perfectamente.

¿Qué estoy haciendo mal en mi asignación de parámetros?

Aquí están mis configuraciones de mapeo de parámetros

Además, no puedo usar un procedimiento almacenado.


Solo vaya a Expressions pestaña Expressions como se muestra en la captura de pantalla que proporcionó y escriba la siguiente expresión en la propiedad SqlStatmentSource

"IF OBJECT_ID(''TEMPDB.DBO.#TEMP'') IS NOT NULL DROP TABLE #TEMP GO CREATE TABLE #TEMP ( ... ); INSERT INTO #TEMP SELECT (...) FROM table t1 INNER JOIN table2 t2 ON t1.id = t2.table1_id WHERE t1.value = ''" + @[User::Where_Variable] + "''"