如何将文件夹中的最近文件馈送到Integration Services中的平面文件源

时间:2018-09-07 11:43:23

标签: sql-server ssis ssis-2012

我想从每天都有类似文件的文件夹中导入CSV文件。 由于我需要在插入之前截断目标sql服务器,因此我只需要源中的最新文件。 我正在创建一个Integration Services(dtx)程序包,该程序包无需手动更改源文件名即可运行

1 个答案:

答案 0 :(得分:0)

您必须创建脚本任务并使用以下代码:

public void Main()
{

// TODO: Add your code here
    var directory= new DirectoryInfo(Dts.Variables["User::VarFolderPath"].Value.ToString());

FileInfo[] files = directory.GetFiles();
DateTime lastModified = DateTime.MinValue;

    foreach (FileInfo file in files)
{
    if (file.LastWriteTime > lastModified)
    {
        lastModified = file.LastWriteTime;
        Dts.Variables["User::VarFileName"].Value = file.ToString();
    }
}

    MessageBox.Show(Dts.Variables["User::VarFileName"].Value.ToString());


    Dts.TaskResult = (int)ScriptResults.Success;
}

上面的代码仅是参考,您必须根据自己的变量进行修改,并按自己的文件名约定

进行过滤