SSIS - 以编程方式将列名称更改为变量/已更改

时间:2012-06-09 16:52:55

标签: sql sql-server ssis

我希望有人可以帮我解决这个问题 - 我有24个CSV格式的文件,它们都有相同的布局,需要加入一些预先存在的数据。每个文件都有一个需要连接到其余数据的列,但这些列在原始文件中都具有相同的名称。我需要将列自动重命名为文件名作为连接的一部分。

列的最终名称必须是:文件名 - 来自另一列的数据。

我当前的方法是使用foreach容器并使用容器生成的变量来命名列,但是我无处可以在连接中输入该值,即使我这样做,也会使输出变得混乱映射,因为列名称会有所不同。

有没有人对如何解决这些问题有任何想法?有想法的人会拯救我的脖子!

编辑如果有更多细节可以帮助... SSIS版本是2008年,每个文件只有几百行。这基本上是一次性任务,从每月发行的几张账单中收集完整的账单历史记录。

源数据有三列,产品编号,产品类型和成本。

目的地需要有24 * 3列,每列都有给定产品类别的每月费用。有三种产品类别,24种钞票(单独的文件)因此24 * 3.

所以希望我更清楚一点 - 我真的需要知道怎么做,就是使用从foreach文件容器中传入的变量来更改列的名称。 < / p>

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是创建一个tmp数据库(也就是staging db) 将数据从xls文件加载到它并定义存储过程,您可以在其中传递paramas(ex文件名等)并构建您赢得的逻辑... 干杯马里奥