首页 > 解决方案 > 将数据从 csv 文件加载到 SQL Server 表的 SSIS 问题

问题描述

我有一个简单的 SSIS 包,它从 csv(逗号分隔)文件加载到表中。到目前为止它工作得很好,问题是新文件在最后的记录中有一些额外的字段:20,30,40.5,50 15,20,25.5,30
10,20,30.5,40
, 50.5
包将最后一行中的 50.5 与 40 连接起来,并给出格式错误。如果我删除 50.5,包运行没有问题。有没有办法设置它,所以它会忽略额外的列?

标签: ssis

解决方案


将文件作为单列文本读入。

将其推入脚本转换并命名您的 4 个输出列...

string s = Row.[singlestring];

使用拆分...

string[] pieces = s.Split(',');

输出 [0-3]...

Row.[Col1] = decimal.Parse(pieces[0]);
Row.[Col2] = decimal.Parse(pieces[1]);
Row.[Col3] = decimal.Parse(pieces[2]);
Row.[Col4] = decimal.Parse(pieces[3]);

并且忽略剩下的部分。


推荐阅读