带函数的 SSIS 参数
Posted
技术标签:
【中文标题】带函数的 SSIS 参数【英文标题】:SSIS Parameters With Functions 【发布时间】:2017-03-29 20:47:58 【问题描述】:我已经对此进行了大量搜索,但未能提出可靠的解决方案。我有一个用例,例如我想在文件名中包含日期,假设我使用以下公式:
"EmployeeCount_"+(DT_STR,4,1252)DATEPART( "yyyy" , getdate() )+ RIGHT("0" + (DT_STR,4,1252)DATEPART( "mm" , getdate() ), 2) + RIGHT("0" + (DT_STR,4,1252)DATEPART( "dd" , getdate() ), 2) +".csv"
这作为一个变量非常有用,但是如果我想将此函数作为参数从 SSMS 传递怎么办?有没有办法将参数作为表达式进行评估?我试图将参数传递给变量以达到预期的效果,但不可用。
我在这里遗漏了什么,还是应该将其硬编码为变量/在其他地方计算并将其从表中拉入 SSIS?
【问题讨论】:
【参考方案1】:如果您想从数据库函数中检索值并将其存储在变量中,您可以使用执行 SQL 任务。
您可以将变量与其他变量中的表达式以及脚本结合起来。在哪里执行计算是您的选择。
【讨论】:
【参考方案2】:-
首先,您必须创建 2 个变量
p_Date
,类型为 DateTime
和 Filename
,类型为 String
在属性选项卡中为变量Filename
设置EvaluateAsExpressions
= True 并使用以下表达式
"EmployeeCount_"+(DT_STR,4,1252)DATEPART( "yyyy" , @[User::p_Date] )+ RIGHT("0" + (DT_STR,4,1252)DATEPART( "mm" , @[User::p_Date] ), 2) + RIGHT("0" + (DT_STR,4,1252)DATEPART( "dd" , @[User::p_Date] ), 2) +".csv"
-
添加
Execute SQL Task
将ResultSet
property 设置为Single Row
填写SqlCommand
和Connection
属性
-
转到
ResultSet
选项卡,添加一个新的结果集,如下图所示
注意:上图中的0
表示您提供的sql命令中的列索引
【讨论】:
以上是关于带函数的 SSIS 参数的主要内容,如果未能解决你的问题,请参考以下文章