尝试在 SSIS 包中运行 Sql 命令时出现错误。
- 任务:数据流任务
- 连接:ADO.NET
- 数据访问方式:Sql 命令
SQL 文本:
从表中选择,其中 field1 = ?和字段2 = ?
Error:" No value given for one or more required parameters"
更多信息:
执行包中的Sql任务:
(常规选项卡)
- 连接:ADO.NET
- SQL 语句:exec storeprocedureX ?,?
(参数映射选项卡)
User::field1 , Input , String , 0 , -1
User::field2, Input, String, 1, -1
包中设置的变量
field1
值12C
字段2
值15A
我错过了什么导致无法在数据流级别读取变量值?我在执行 SQL 任务级别没有问题。
最佳答案
数据流中的 OLE DB 命令与控制流中的执行 SQL 任务不同。您似乎正确地描述了执行 SQL 任务。
要在数据流中使用变量,您需要将其添加到数据流中 - 最简单的方法是使用带有表达式的派生列。在 OLE DB 命令之前将派生列添加到数据流中,并按如下方式配置:派生列名称:field1;派生列:添加为新列;表达式:@[User::field1]。然后在 OLE DB 命令中,在“列映射”下将列映射为“输入列:field1;”目标列:Param_0 等
关于sql-server - 数据流问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56186281/