sql-server - 数据流问题

标签 sql-server ssis dataflow

尝试在 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

包中设置的变量

  • field112C
  • 字段215A

我错过了什么导致无法在数据流级别读取变量值?我在执行 SQL 任务级别没有问题。

最佳答案

数据流中的 OLE DB 命令与控制流中的执行 SQL 任务不同。您似乎正确地描述了执行 SQL 任务。

要在数据流中使用变量,您需要将其添加到数据流中 - 最简单的方法是使用带有表达式的派生列。在 OLE DB 命令之前将派生列添加到数据流中,并按如下方式配置:派生列名称:field1;派生列:添加为新列;表达式:@[User::field1]。然后在 OLE DB 命令中,在“列映射”下将列映射为“输入列:field1;”目标列:Param_0 等

关于sql-server - 数据流问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56186281/

相关文章:

sql - 在 SQL Server 中创建和管理全局 Procs 和 UDF 的最佳方法是什么?

c# - 表中的枚举类值

ssis - 为什么 SSIS TOKEN 函数无法计算相邻的列分隔符?

java - 在数据流 2.x 中将 TableRow 转换为 JSON 格式字符串的最简单方法?

sql-server - 为什么非对称 key 更安全?

sql-server - 仅在维护计划失败时向运算符(operator)发送电子邮件

sql-server - SSIS - 插入新行、更新行

SSIS 传输 SQL Server 对象任务在传输的数据中丢失重音

code-analysis - 支持 "Incremental computing"的编程工具链(甚至可能是 C/C++)

apache-nifi - 自动启用 Controller 服务 NiFi