数据流任务 - 将两个用户日期变量设置为参数
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 任务,但数据流任务组件的语法保持不变
我正在创建一个每月 运行 的 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 任务,但数据流任务组件的语法保持不变