我想使用SSIS将最新的csv文件导入表中?我目前有一个步骤可以获取文件夹中的最后一个文件:
Report_201209030655.csv
Report_201209030655.csv
Report_201209030655.csv
根据创建的时间,我想要步骤将最新csv的数据导入表格。
答案 0 :(得分:0)
参考此解决方案:
[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;
}