我正在创建 SSIS 包。
我需要获取数据文件的修改日期。
到目前为止,在数据流中。我有“派生列转换”,我需要输入数据文件的“修改日期”。所以我想初始化名为“User::modifiedDate”的变量,然后从文件中提取修改日期,然后将该值分配给变量“User::modifiedDate”。这是正确的做法吗?
由于我没有SSIS经验,我想知道如何获取修改日期然后分配...
例如,第一个文件在 Windows 资源管理器中显示“修改日期”为“2024-02-22 17:05”,我希望在我的数据流中可以将其存储在 OLE DB 目标中
最好根据您的场景在控制流中使用“Foreach 循环容器”。
要实现此目的,您可以按照以下步骤操作:
初始化变量:创建一个名为
User::ModifiedDate
(日期时间)的变量和一个名为 User::FilePath
(字符串)的变量。
循环文件夹:使用 Foreach Loop Contain,您可以循环访问所选文件夹中的所有文件。
public void Main()
{
System.IO.FileInfo file =
new System.IO.FileInfo(Dts.Variables["User::FilePath"].Value.ToString());
if (file.Exists)
{
Dts.Variables["User::ModifiedDate"].Value = file.LastWriteTime;
}
Dts.TaskResult = (int)ScriptResults.Success;
}