2017-10-10 79 views
0

在SQL Server 2014(v12.0.5556)上运行SSIS包时,它似乎在跳过脚本任务。测试包执行以下操作:SSIS 2014中的配置设置是否会导致脚本任务被跳过?

  • 定义的变量X和其初始化为0
  • 使用脚本任务以X的值设定为根据X的值1个
  • 分行

由于脚本任务设置X = 1,它应该总是分支到名为的任务值为1。在VS 2015

当部署到SQL Server(本地计算机或服务器)运行时,它的工作原理,它转移到值是0仿佛脚本任务绝然。但是,SSIS日志显示该任务已成功运行。

SQL Server中或包中的任何设置是否会导致它在部署到SQL Server时跳过脚本任务?

这里的包: The Test Package

用户:: X变量被设置为ReadWriteVariable。下面是在脚本任务的代码:当在Visual Studio中运行

public void Main() 
    { 
     Dts.Variables["User::X"].Value = 1; 
     Dts.TaskResult = (int)ScriptResults.Success; 
    } 

这里的结果(其分支机构值是1): enter image description here

这里的结果时在SQL Server(它运行分支机构值是0): enter image description here

+0

的事实,绿色箭头有一点点的“FX”,意味着有在那里的约束。如果你双击它们,你将能够看到有意的约束 – Lamak

+0

@Lamak。条件检查X的值并分支到相应的任务。我这样做是为了表明在VS中运行时X的值被设置,但在SS中运行时没有被设置。 –

+0

尝试写这个,而不是Dts.Variables [“User :: MyIntegerVariable”]。Value = Convert.ToInt32(Dts.Variables [“User :: MyIntegerVariable”]。Value)+ 1; – plaidDK

回答

相关问题