按列列出的SSIS平面文件源记录

按列列出的SSIS平面文件源记录,ssis,Ssis,使用按列而不是按行记录的平面文件源。。。关于提取数据的建议。是具有重复字段名的固定长度。 人形19 姓氏Doe 名字叫约翰 PersonID 20 姓氏布朗 姓查理谢谢你的回复。示例被简化,实际情况有40多个字段。最后,我使用脚本组件创建了一个管道分隔的字符串,该字符串在记录的最后一个字段上返回,然后进行条件拆分以仅提取具有返回字符串的记录,然后发送到新的平面文件目标 string oRecord = ""; ... public override void Input0_ProcessInpu

使用按列而不是按行记录的平面文件源。。。关于提取数据的建议。是具有重复字段名的固定长度。
人形19
姓氏Doe
名字叫约翰

PersonID 20
姓氏布朗

姓查理

谢谢你的回复。示例被简化,实际情况有40多个字段。最后,我使用脚本组件创建了一个管道分隔的字符串,该字符串在记录的最后一个字段上返回,然后进行条件拆分以仅提取具有返回字符串的记录,然后发送到新的平面文件目标

string oRecord = "";
...
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.dField.Trim() == "PersonID") /* first field in record */
{
oRecord = Row.dValue;
}
else
{
oRecord = oRecord + "|" + Row.dValue;
if (Row.dField.Trim() == "FirstName")  /* last field - send string back */
{
Row.OutRecord = oRecord;
}
}
}

如果它与空间具有相同的顺序,则可以将它像这样导入到SQL表中,然后使用SQL将每4行转换为列(包括空白行)。或者使用C#task逐行遍历文件,并按文件中的行号将每一行放入一个对象中。因此,有一个循环,每4行向person对象添加一个新项目。只需这样做。到目前为止你做了什么?请描述问题所在。我在你的帖子中没有看到任何问题。