带表达式的SSIS 2012变量评估缓慢

时间:2013-11-26 11:07:47

标签: ssis sql-server-2012

我有一个父包和一个子包。 在父包中,我定义了一个变量ApplicationPath,我将其通过配置传递给子包。 在子包中,我构建了一个名为FilePath的新变量,它被设置为表达式@[User::ApplicationPath] + "myfilename.txt"

这可行,但评估变量需要3分钟。 我有一个脚本任务(用于测试和调试),为每个变量生成一个消息框。所有“正常”变量立即显示,表达式变量需要三分钟才能显示。 (可在脚本中使用断点重现)

此外,甚至更奇怪,当我在SSDT中没有断点的情况下运行父包的整个工作流时,它需要: - 如果子套餐已在SSDT中打开,则不到一秒钟 - 如果子包未在SSDT中打开,则最多五分钟,仅包含父包。

我真的不知道为什么它会像这样。 有人遇到过这样的事吗?

2 个答案:

答案 0 :(得分:0)

它可能与子包的验证有关吗?当SSDT验证包连接和任务时,我经常遇到需要几分钟才能打开的包。 您可以设置DelayValidation和ValidateExternalMetadata,例如,查看here

答案 1 :(得分:0)

我遇到了同样的问题 - 当我在脚本设置中将评估变量从ReadWrite切换到ReadOnly时,它突然改善了我的计算时间。

安迪