SSIS动态文件导入到SQL表

时间:2016-12-13 21:47:10

标签: sql-server import ssis

我有8" .txt"所有具有不同列的文件,我想在SSIS中创建一个循环,以使用动态命名导入到单独的SQL表中。所以喜欢 "静态文本" +" FileName",其中FileName是可变的。

我之前已经创建了包,但它们仅用于具有静态列的文件,并且它们只是附加到同一个SQL表中。我现在想要为每个循环的文件创建一个新的SQL表。

在SSIS中有没有这样做?如果有人可以提出修改,我已经在下面截了我的一些包。提前感谢您提供的任何帮助。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您有许多具有不同结构的来源,则无法执行此操作。因为SSIS需要在设计时纠正元数据(列,数据类型等)。

但是如果您有具有相同结构的表,则必须创建一个目标表(temp)并将其名称放在变量VarFileName中并映射OLEDB Destination中的列。并且您必须将DataFlowTask属性DelayValidation设置为True。因此,在DataFlowTask开始执行之前,不会检查元数据。

创建表应该使用Execute SQL Task使用表达式(从变量传递Tablename)

希望有所帮助

答案 1 :(得分:0)

  1. 创建循环。然后将脚本任务放入其中的DFT任务,如图所示。
  2. Image : 1

    1. Crate源和目标变量,并为它们分配一些临时表名。这些表应该存在。 enter image description here

    2. 脚本任务将更新源表和目标表。 按照图片

    3. enter image description here

      enter image description here

      enter image description here

      我将源表和目标表值更改为“dbo.T2”和“dbo.T4”。但你必须根据你的要求改变。