我们如何从平面文件到OLEdb目标数据库插入一行一行?

时间:2019-05-02 03:49:05

标签: c# sql-server ssis

我有一个平面文件,其中许多行和列由定界符(|)分隔。在将行插入到目标之前,我必须通过匹配一些列来检查记录是否已经存在,如果存在,我只需要在该记录中添加数量字段值,然后它就必须插入下一行。 / p>

我尝试了Lookup转换,然后我意识到只有在表已经记录的情况下,区分大小写才起作用,如果表为空,我们将无法进行查找,因为平面文件记录是按批插入的。如果表为空,则整个行不匹配大小写,则所有行都将插入db。但是我必须过滤掉平面文件记录,以便在插入之前每一行。

Flat file row:
Row1= 100|10.35|abc|10/2018
Row2= 100|15.35|abc|10/2018
Row3= 101|20.00|xyz|10/2018

要加载到oledb dest db中的目标;

Row1= 100|25.70|abc|10/2018  (25.70 == Row1 amount + Row2 amount)
Row3= 101|20.00|xyz|10/2018`enter code here`

1 个答案:

答案 0 :(得分:1)

我将使用汇总转换。

  1. 使用平面文件源和“ |”读取定界符。
  2. col1,3,4上的agg变换组和col2
  3. 加载到表格