微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试使用脚本任务获取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;
            }
        }

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

解决方法

这是常见的混淆点。

在“变量”窗口中,可以创建SSIS变量并分配设计时值。设计时间值仅是设计而已。程序包将使用这些值进行初始化,但是它们可以在执行期间更改。包终止时,它不会将当前值保存回包,因为那是所有运行时。设计时间保持不变。

enter image description here

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

enter image description here

要在调试包时访问“本地”窗口,请单击“调试”菜单,在Windows下,选择“本地”。 https://docs.microsoft.com/en-us/visualstudio/debugger/autos-and-locals-windows?view=vs-2019

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。