Sql server SSIS读取文件修改日期

Sql server SSIS读取文件修改日期,sql-server,ssis,fileinfo,Sql Server,Ssis,Fileinfo,我们有一个SSIS进程,可以从不同的源以不同的格式导入各种文件。 每个文件在一个月的不同时间交付 用户希望能够看到每个文件的修改日期,以检查是否定期更新 目的是在流程结束时生成一张表格,如下所示: 因此,我正试图找出如何获得我读到的每个文件的修改日期。在SSIS中有这样做的方法吗 提前感谢您可以向管道添加脚本组件,该组件从输入变量读取文件名,并将文件修改日期写入输出变量: /// <summary> /// This method is called when th

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

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

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

因此,我正试图找出如何获得我读到的每个文件的修改日期。在SSIS中有这样做的方法吗


提前感谢

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

    /// <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;
    }
//
///在控制流中执行此脚本任务时调用此方法。
///从该方法返回之前,请设置Dts.TaskResult的值以指示成功或失败。
///要打开“帮助”,请按F1。
/// 
公共图书馆
{
System.IO.FileInfo文件=
新的System.IO.FileInfo(Dts.Variables[“User::FilePath”].Value.ToString());
如果(文件存在)
{
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:00help@Joeysonic您确定该文件存在吗?请检查是否已正确设置变量FilePath,以及该变量是否包含有效文件的路径。还要确保正确创建了输出变量。@Steve hi yes文件存在。。。My[“User::FilePath”]变量是C:\Folder\ExcelFile.xls请帮助您是在调试模式下还是在服务器上运行包?您能在代码中设置断点,单步执行并检查变量的值吗?