做增量的ETL时,经常遇见的需求是:根据本地的文件名,来判断ETL程序是否需要再次运行,如果文件已经运行过,则跳过,否则执行。满足整个需求,需要把本地文件的名或路径放入到数据库的表中,然后再根据文件名判断是否要运行后面的etl。网上找了好久,也没有找到答案,因此我自己写了一段代码,实现了通过SSIS组件把本地文件的完整路径插入到数据库表中,供大家参考。
下面是详细步骤:
准备工作:先在数据库里面新建一个表(用于接收本地的csv文件数据),在本地路径新建一个csv文件。如图所示:
数据库:
本地文件:
第一步:在页面拖一个Foreach循环编辑器,然后编辑,选择文件编辑器,然后在下面的文件夹路径中选择本地文件存放的路径,最后确定。
你可以在这里编辑你本地文件存放的路径、需要读取的文件类型,此处以csv文件为例。