【问题标题】:SSIS Read file modification dateSSIS 读取文件修改日期
【发布时间】:2015-07-22 07:46:56
【问题描述】:

我们有一个 SSIS 流程,可以从各种来源导入不同格式的各种文件。 这些文件中的每一个都在一个月的不同时间交付。

用户希望能够看到每个文件的修改日期,以检查他们是否得到定期更新。

目的是在流程结束时生成一个表格,如下所示:

所以我想弄清楚如何获取我读入的每个文件的修改日期。有没有办法在 SSIS 中做到这一点?

提前致谢

【问题讨论】:

    标签: sql-server ssis fileinfo


    【解决方案1】:

    您可以将脚本组件添加到从输入变量读取文件名并将文件修改日期写入输出变量的管道:

        /// <summary>
        /// This method is called when this script task executes in the control flow.
        /// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
        /// To open Help, press F1.
        /// </summary>
        public void Main()
        {
            System.IO.FileInfo theFile = 
                  new System.IO.FileInfo(Dts.Variables["User::FilePath"].Value.ToString());
    
            if (theFile.Exists)
            {
                Dts.Variables["User::LastFileDate"].Value = theFile.LastWriteTime;
            }
            Dts.TaskResult = (int)ScriptResults.Success;
        }
    

    【讨论】:

    • 非常感谢@Steve,我会试试看效果如何。
    • 我已经很好地使用了您的脚本任务@Steve,但我的文件保存日期/修改日期即将使用您的脚本作为 30/12/1899 00:00:00 - 它应该是 06/11/ 2019 00:00:00 请帮忙
    • @Joeysonic 您确定该文件存在吗?检查您是否正确设置了变量 FilePath 以及它是否包含有效文件的路径。还要确保您已正确创建输出变量。
    • @Steve 嗨,是的,文件存在...我的 ["User::FilePath"] 变量是 C:\Folder\ExcelFile.xls 请帮助
    • 你是在调试模式还是在服务器上运行包?你能在代码中设置断点,单步执行并检查变量的值吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多