см это решение:
[http://blog.sqlauthority.com/2011/05/12/sql-server-import-csv-file-into-database-table-using-ssis/][1]
затем использовать задачу сценария для заполнения имя файла и передать эту переменную в качестве имени файла для исходного компонента.
Получение последней кода файла:
public void Main()
{
string[] files = System.IO.Directory.GetFiles(@"C:\SSIS\Files");
DataTable NewList=new DataTable();
DataColumn col = new DataColumn("FileName");
NewList.Columns.Add(col);
System.IO.FileInfo finf;
foreach (string f in files)
{
finf = new System.IO.FileInfo(f);
if (finf.LastWriteTime > DateTime.Now.AddHours(-24))
{
NewList.Rows.Add(f);
}
}
Dts.Variables["User::FileNameArray"].Value = NewList;
Dts.TaskResult = (int)ScriptResults.Success;
}
Can't вы просто переместить старые/уже обработанные файлы в отдельную папку? Я считаю, что это самый распространенный подход в ETL. – kyooryu
До этого шага я фактически переименовываю и перемещаю файл в новую папку – Gallop