我正在尝试创建一个临时表,并将数据插入到foreach循环容器内的Execute SQL Task中的临时表中。
这是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 = ?
我想在WHERE子句中有一个参数,但是每当我尝试添加它时,都会出现此错误。
“多步OLE DB操作生成错误。检查每个OLE DB状态值(如果可用)。未完成任何工作。”。可能的失败原因:查询问题,“ ResultSet”属性未正确设置,参数未正确设置或连接未正确建立。”
当我对Where子句中的值进行硬编码时,插入程序会完美工作。
我在参数映射上做错了什么?
这是我的参数映射设置
另外,我无法使用存储过程。
只需转到 提供*Expressions的屏幕快照中所示的Tab,然后将以下表达式写到property *SqlStatmentSource
Expressions
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] + "'"