数据流问题
Data flow issue
在 SSIS 包中尝试 运行 Sql 命令时出现错误。
- 任务:数据流任务
- 连接:ADO.NET
- 数据访问模式:Sql命令
Sql 文字:
select 来自 table 其中 field1 =?和 field2 = ?
Error:" No value given for one or more required parameters"
更多信息:
执行包中的Sql任务:
(常规选项卡)
- 连接:ADO.NET
- SQL 声明:exec storedprocedureX ?,?
(参数映射选项卡)
User::field1 , Input , String , 0 , -1
User::field2, Input, String, 1, -1
包中设置的变量
field1
值12C
field2
值15A
我错过了什么导致无法在数据流级别读取变量值?我在执行 SQL 任务级别没有问题。
数据流中的 OLE DB 命令与控制流中的执行 SQL 任务不同。您似乎正确描述了执行 SQL 任务。
要在数据流中使用变量,您需要将其添加到数据流中——最简单的方法是使用带表达式的派生列。在 OLE DB 命令之前将派生列添加到您的数据流中,并按如下方式配置:派生列名称:field1;派生列:添加为新列;表达式:@[User::field1]。然后在 OLE DB 命令中,在列映射下将列映射为输入列:field1;目标列:Param_0,等等
在 SSIS 包中尝试 运行 Sql 命令时出现错误。
- 任务:数据流任务
- 连接:ADO.NET
- 数据访问模式:Sql命令
Sql 文字:
select 来自 table 其中 field1 =?和 field2 = ?
Error:" No value given for one or more required parameters"
更多信息:
执行包中的Sql任务:
(常规选项卡)
- 连接:ADO.NET
- SQL 声明:exec storedprocedureX ?,?
(参数映射选项卡)
User::field1 , Input , String , 0 , -1
User::field2, Input, String, 1, -1
包中设置的变量
field1
值12C
field2
值15A
我错过了什么导致无法在数据流级别读取变量值?我在执行 SQL 任务级别没有问题。
数据流中的 OLE DB 命令与控制流中的执行 SQL 任务不同。您似乎正确描述了执行 SQL 任务。
要在数据流中使用变量,您需要将其添加到数据流中——最简单的方法是使用带表达式的派生列。在 OLE DB 命令之前将派生列添加到您的数据流中,并按如下方式配置:派生列名称:field1;派生列:添加为新列;表达式:@[User::field1]。然后在 OLE DB 命令中,在列映射下将列映射为输入列:field1;目标列:Param_0,等等