我是SSIS的新手,我在逐行将CSV分成多个文件时遇到了一些问题。
我有一个包含多行的CSV - 我试图将每一行拆分成一个新的平面文件,并使每一列成为平面文件中的新行。
我目前有一个平面文件源泵入派生列并将数据排序为我想要的格式。为了测试这个,我把它输出到一个有多行的大平面文件中,但我最好为每行创建一个文件。
我已尝试使用for for循环,但我不太确定如何在SSIS中使用它。
任何帮助将不胜感激 - 提前致谢。
答案 0 :(得分:1)
我认为你不需要循环,C#脚本就可以了。块定义为:
来源 - > [RowCounter变量Counter
] - > [脚本任务] - >目标
脚本任务:
int val = Convert.ToInt32(Dts.Variables["Counter"].Value);
Dts.Connections["destinationConnectionName"].ConnectionString = "c:\\yourpath\\" + val.ToString() + ".txt";
当然你必须指定readonly参数:Counter。
这将设置每行的连接名称。将它与您已经拥有的排序相结合。
答案 1 :(得分:0)
您可以使用数据流中的Multicast Transformation将从平面文件源派生的每条记录发送到两个或多个平面文件目标。与使用循环容器或脚本任务相比,这可能是一种更有效的SSIS使用方式。