【问题标题】:SSIS user variable not updating in execute SQL taskSSIS 用户变量未在执行 SQL 任务中更新
【发布时间】:2016-07-13 17:54:13
【问题描述】:

我知道这应该很简单,但我无法让它发挥作用。我在控制流中使用执行 SQL 任务,目的是设置 2 个 user_variables、vRunID 和 vRelease。我有一个非常简单的选择语句,其中我得到单行 2 列:

SELECT Id, release
FROM [Test].[Run] 
where id = (select max(id) FROM [Test].[Run])

在结果集选项卡中,我尝试使用列(Id 和 Release)和 0,1 的“结果名称”映射到 User::vRunID 和 User::vRelease 的“变量名称”。我根本无法改变变量值。如果我对变量值进行硬编码,一切都运行良好,但我希望它基于 select 语句,这样我们就可以运行包而不必对值进行硬编码(这就是我们首先使用 SSIS 的原因) 我缺少一些简单的东西吗?我需要在参数中设置一些东西吗?观看了无数在线视频,似乎我已按我的方式设置了所有内容,但它不会加载值。

【问题讨论】:

  • 你怎么知道它们没有变化?
  • 放入执行后断点并查看变量。没有变化。

标签: ssis user-variables


【解决方案1】:

我认为您的问题是变量窗口在执行期间未更新。在过去,我发现了两个让我对变量感到困惑的项目。首先,通过查看调试菜单下的监视或本地窗口,可以找到执行期间的变量当前值。其次是我必须使用“开始”而不是执行任务/容器才能使其工作。因此,如果我想调试包中的第三个容器,我可以运行整个程序,或者如果可能,禁用前两个容器,以便我可以“调试”第三个容器。 希望这会有所帮助。

【讨论】:

    【解决方案2】:

    检查变量的EvaluateAsExpression 属性。我遇到了同样的问题,但是一旦我将此属性更改为 False,变量的值就会更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多