Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SSIS包中的优先级约束未按预期执行_C#_Ssis_Constraints_Operator Precedence_Script Component - Fatal编程技术网

C# SSIS包中的优先级约束未按预期执行

C# SSIS包中的优先级约束未按预期执行,c#,ssis,constraints,operator-precedence,script-component,C#,Ssis,Constraints,Operator Precedence,Script Component,在SSIS包中,我有一个简单的脚本来检查文件是否存在。如果没有,那么流程应该停止 脚本正确返回文件exist语句为false 并且基于当前优先级约束,只有当脚本将值返回为true时,它才应该继续 以下是文件存在标志,以供参考 但是,包继续运行,然后失败。我不明白我在这里遗漏了什么,或者我设置的不正确 编辑:添加实际脚本 public void Main() { string targetfile = Dts.Variables["User::FilePathLen

在SSIS包中,我有一个简单的脚本来检查文件是否存在。如果没有,那么流程应该停止

脚本正确返回文件exist语句为false

并且基于当前优先级约束,只有当脚本将值返回为true时,它才应该继续

以下是文件存在标志,以供参考

但是,包继续运行,然后失败。我不明白我在这里遗漏了什么,或者我设置的不正确

编辑:添加实际脚本

 public void Main()
    {
        string targetfile = Dts.Variables["User::FilePathLenovo"].Value.ToString();
        try
        {
            if (File.Exists(targetfile))
            {
                Dts.Variables["User::FileExists"].Value = true;
            }
            else
            {
                Dts.Variables["User::FileExists"].Value = false;
            }

            Dts.TaskResult = (int)ScriptResults.Success;
        }
        catch (Exception Ex)
        {
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
        MessageBox.Show("File.Exists(targetfile): " + File.Exists(targetfile));

    }

确保脚本实际为变量赋值,并且在脚本的“配置”菜单中将变量设置为“读/写”。菜单中的变量为“读写”。我添加了脚本。它似乎工作正常。您是否有机会将
FileExists
变量标记为计算为表达式?如果是的话就不应该了。一切看起来都很好,应该工作得很好。。。尝试在脚本的后执行阶段和试图打开文件的数据流的预执行阶段添加断点,并使用监视窗口检查变量的实际运行值。因此,如果您使constriant
==false
,DFT不会运行吗?如果将脚本硬编码为返回false会发生什么情况?请确保脚本实际为变量赋值,并且在脚本的“配置”菜单中将变量设置为“读/写”。菜单中的变量为“读写”。我添加了脚本。它似乎工作正常。您是否有机会将
FileExists
变量标记为计算为表达式?如果是的话就不应该了。一切看起来都很好,应该工作得很好。。。尝试在脚本的后执行阶段和试图打开文件的数据流的预执行阶段添加断点,并使用监视窗口检查变量的实际运行值。因此,如果您使constriant
==false
,DFT不会运行吗?如果将脚本硬编码为返回false,会发生什么情况?