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