我在包级别创建了用户定义的SSIS变量。
示例:以下是varibales
v1 = 10
v2 = 20
V3
结果应该是V3 = V1 + V2我应该在控制流中给出这个表达式,我会得到结果
请帮忙
由于
答案 0 :(得分:3)
我是否遗漏了某些内容,或者expression是否足够?
给定如上所述定义的变量
在变量v3上将“Evaluate as Expression”设置为True,对于Expression,使用@ [User :: v1] + @ [User :: v2](或单击省略号并使用WYSIWYG编辑器构建表达式)
如果您注意到v3的粉红色角落,那是因为我运行了一个名为BIDSHelper的加载项,它可以帮助您完成SSIS开发任务,但不会影响我的解决方案的工作。
答案 1 :(得分:1)
您可以在脚本组件中操作变量。如果您使用的是SQL-Server 2005,那么您可以使用VB.Net,如果您使用的是2008,则可以选择使用它或C#.net。
下面是一些(VB.net)代码示例,我用来获取变量(在我的情况下是字符串),操作它们,并将它们发送回变量存储区域:
Dim logFilename As String
Dim logFilePath As String
' create filename
logFilePath = Dts.Variables("LogFilePath").Value.ToString()
curDate = Now().ToString("yyyyMMdd")
logFilename = "test-" & curDate & ".Log"
Dts.Variables("LogFileName").Value = logFilename
对你的数字做同样的事情,在脚本组件的内容中(我对VB有点生疏)
Dim v1 as Int
Dim v2 as Int
Dim v3 as Int
// get your variables from the package
v1 = Dts.Variables("v1").Value
v2 = Dts.Varuables("V2").Value
v3 = v1 + v2
// set your result back to the package
Dts.Variables ("v3").Value = v3