【发布时间】:2012-10-08 20:43:49
【问题描述】:
我有一个相当简单的 SSIS 包,我无法成功地将包范围变量的值从控制流传递到数据流任务。考虑下图:
执行 SQL 任务从“机器”列表中获取值。这用于控制一个 ForEach 循环容器,效果很好。接下来,脚本任务执行一些数学运算并将单个数字分配给包作用域变量(整数类型)。我添加了在循环期间弹出的消息框,以便我可以验证此变量的值是否设置正确。
最后一个图标是我想在其中使用变量值的数据流。我有一个简单的脚本任务,它只包含一个消息框,向我显示同一变量的当前值。每次,变量都是我最初在设计器(BIDS)中设置的值。因此,该值不会“传递”到数据流。我已经多次验证变量的名称是正确的(包括区分大小写的值)。
这应该很简单,我对这个问题感到沮丧。我将不胜感激和建议或 cmets。谢谢!
【问题讨论】:
-
确认您没有在数据流范围内声明相同的变量。你做的是相当标准的操作
-
感谢您的建议。我设置了一个断点,看来包变量设置正确。我没有看到在数据流中声明的相同变量。只是为了确保,我创建了一个全新的变量,到处替换它并删除了我的原始变量。当我运行它时,我遇到了同样的问题。我想我可能会尝试创建一个小包,以更简单的方式验证这个概念。
-
尽管提问者最后“感觉自己像个白痴”,但这篇文章说明了有用的故障排除方法,而且这个问题问得很好。
标签: sql-server-2008 ssis business-intelligence