我有一个txt文件文件夹。文件名的格式为[integer] .txt(例如1.txt,2.txt等)。
我有一张桌子,比如说TableA(id int不为null,内容为varchar(max))
我想要一种方法,将那些文件的内容批量导入TableA,并从文件名中填充id列。每个文件将是表中的单个记录。这不是定界文件。
我已经研究了SSIS和平面文件源,但是我找不到选择文件夹而不是单个文件的方法(this回答说可以做到,但是我找不到方式)。
Bulk Insert是我的下一个赌注,但是我不确定如何用文件名填充id列。
有什么想法吗?
答案 0 :(得分:1)
对于任何可能需要它的人,我最终通过以下方式解决了这个问题:
使用ForEach循环容器(感谢提示@Panagiotis 卡纳沃斯)
使用平面文件源,将其设置为行定界符和列
分隔符我知道文件中不存在的序列(例如'$$$')
将文件名分配给变量,并将完整路径分配给计算值 变量(有关如何分配变量,请检查this great post)
使用派生列在输出中传递文件名(签出 this answer)