将平面文件行拆分为多个平面文件SSIS

时间:2013-07-18 11:34:08

标签: sql ssis

我是SSIS的新手,我在逐行将CSV分成多个文件时遇到了一些问题。

我有一个包含多行的CSV - 我试图将每一行拆分成一个新的平面文件,并使每一列成为平面文件中的新行。

我目前有一个平面文件源泵入派生列并将数据排序为我想要的格式。为了测试这个,我把它输出到一个有多行的大平面文件中,但我最好为每行创建一个文件。

我已尝试使用for for循环,但我不太确定如何在SSIS中使用它。

任何帮助将不胜感激 - 提前致谢。

2 个答案:

答案 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使用方式。