首页 > 解决方案 > 将数据从平面文件加载到 Sql Server 表,并使用 SSIS 导出到 excel

问题描述

问题陈述:要求很简单,即我们有一个平面文件(基本上是csv),我们需要将其加载到Sql Server数据库中的一个表中。当我们必须派生一个新列(平面文件中不存在)并将其与文件中的其余列一起填充时,就会出现问题。新列的推导逻辑是 - 找到“TransactionDate”的最大日期。

整个练习将在其中执行SSIS,我们希望通过使用来完成它,DataFlowTask但坚持如何派生新列,然后将其添加到目标流。

想法

  1. 用于DataFlowTask读取文件,然后将其存储在其中,recordset以便ControlFlow我们将ScriptTask其读取为DataTable并使用LINQsort-of 来确定最大列并将其推送到另一个DataFlow以供使用Sql table(但我想这需要tabletype在数据库中创建我会避免)
  2. 自己执行整个操作,DataFlowTask我们需要Asynchronous transformation(获取所有数据并找出最大值)

我们在这里有点想法,任何线索将不胜感激,如果在这方面需要任何进一步的信息,请告诉我们。

标签: c#sql-serverssis

解决方案


运行数据流任务以将数据插入目标表。紧随其后的是执行 SQL 任务,该任务MAX(TransactionDate)根据表中的值以及 NULL(或其他新记录指示符)MaxTransactionDate 来计算。


推荐阅读