动态ssis包

问题描述:

我需要创建SSIS包来将文件从ftp服务器导入到Data Lake上的表。问题是文件可能有不同的列。例如File1可以有A,B,C,D,E列,下一个文件可以有A,B,C,接下来是A,B,C,D,E,F等等。解决这个问题的最好方法是什么? 我在谈论源文件和目标表的不同列。动态ssis包

谢谢

+0

做TABS具有相同的数据? – KeithL

+0

您提到了问题中的“相同目的地表”,并在下面的答案中提到了“需要更改目的地表”。 ??? –

+0

没有目标表是相同的只是如果在源文件中有新列,我们需要添加这些列并追加到现有目标表 – DraganB

研究BiML,它根据元数据动态创建包。

+0

如果文件中有新列,我需要更改目标表。 – DraganB

+0

我不知道这样的东西是否构建到BiML中,但是您可以使用在BiML创建数据流之前运行的脚本来完成。 –

+0

所以脚本任务我可以更改目标平面文件,如果有新的列? 场景:我上传file1有3列在源文件中,file2有5列,我需要上传这个文件在同一个来源,如追加功能。 – DraganB

  1. 添加变量的对象

  2. 添加一个数据流:

  3. 使用该脚本组件来获得列名:

Script Component

3.5你可能想要添加条件拆分或派生列与输出猴子。

  1. 装入记录到一个记录目的地(使用变量#创建1)

  2. 添加一个foreach并通过ADOObject

  3. 迭代添加一个变量来存储每个迭代

  4. 创建一个变量来存储SQL拉你的数据集(如 “SELECT * FROM [” + variablecreatedInStep6 + “]”

  5. 设置你的源代码使用该变量

  6. 确保一切都被延迟审定这一切都是动态

开始=>