0

我想使用 SSIS 将最新的 csv 文件导入到表中?我目前有一个步骤可以获取文件夹中的最后一个文件:

 Report_201209030655.csv
 Report_201209030655.csv
 Report_201209030655.csv

根据创建时间,我想要将最新 csv 的数据导入表的步骤。

4

1 回答 1

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;
        }
于 2012-09-04T08:51:30.047 回答