数据流任务 - 将两个用户日期变量设置为参数

Data Flow Task - Set two User Date Variables as Parameters

我正在创建一个每月 运行 的 SSIS 包。由于返回的数据非常大,这个特定的存储过程需要一次 运行 一周。

我已经使用两个参数设置了我的存储过程:@StartDT 和@EndDT。我创建了两个 SSIS 变量:StartDT 和 Wk1EndDT(一旦我开始使用这个变量,我将创建其他周的开始和结束日期)。

StartDT 有这个表达式:

(DT_DATE)((DT_WSTR, 4)YEAR(DATEADD("mm", -1, GETDATE())) + "-" +RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("mm", -1, GETDATE())),2)+"-01")

Wk1EndDT 有这个表达式:

DATEADD("DD",7, @[User::StartDT])

我正在使用带有 SQL 命令文本的 DataFlow 任务:

EXECUTE dbo.uspUploadWk1 ?,?

当我去预览结果时,收到以下错误消息: 显示预览时出错。 没有为一个或多个必需参数提供值。 (Microsoft SQL 服务器本机客户端 11.0)

我的参数设置如下:

我不确定为什么这不起作用。我到处搜索但没有找到答案。我正在使用 Visual Studio 2015.

假设一个 OLE DB 连接管理器,“映射”选项卡应该在“参数”列上使用基于零的序号系统。是的,它默认将它们命名为 Parameter0、Parameter1 等,但对于 OLE DB 连接管理器,您将使用问号的顺序位置 ?,从零开始。

对于 ODBC,它变为基于 1 的计数,但仍使用 ? 作为参数占位符。

ADO.NET 使用命名参数,因此我们匹配 EXECUTE dbo.uspUploadWk1 @Parameter0, @Parameter1 但 ADO.NET 源组件不支持参数化

Reference on parameters and mapping 执行 SQL 任务,但数据流任务组件的语法保持不变