繁体   English   中英

SSIS:将创建日期添加到脚本任务中的变量

[英]SSIS: Add Creation Date to Variable in Script Task

我正在尝试使用脚本任务获取 SSIS 中文件的创建日期。 我创建了一个名为“User::File_Created”的变量并将该变量添加到以下脚本任务中:

        public void Main()
        {
            string fileName = @"[FilePath]";
            FileInfo fi = new FileInfo(fileName);

            if (Dts.Variables.Contains("User::File_Created") == true)
            {
                Dts.Variables["User::File_Created"].Value = fi.CreationTime;
            }
        }

虽然完成后,我仍然只看到存储在变量中的当前日期。 任何帮助,将不胜感激。

这是一个常见的混淆点。

变量 window 是您创建 SSIS 变量并分配设计时值的地方。 设计时间值就是这样,只有设计。 package 将使用这些值进行初始化,但它们可以在执行期间更改。 当 package 终止时,它不会将当前值保存回 package,因为那都是运行时的。 设计时间保持不变。

在此处输入图像描述

要查看运行时值,您需要拉起 Locals window,展开 Variables 集合节点,然后您可以看到所有当前值(或为其设置监视)。 在这里你可以看到我的 package 正在运行,因为我们有绿色节点(将我的变量值设置为 ZYX 的表达式任务)并且变量 window 显示 ABC 但局部变量 window 反映了 ZYX 的真实值

在此处输入图像描述

要访问 Locals window,而 package 正在调试,请单击调试菜单,在 Windows、select Locals 下。 https://learn.microsoft.com/en-us/visualstudio/debugger/autos-and-locals-windows?view=vs-2019

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM