【问题标题】:ssis how to add all columns from another source without join criteria?ssis如何在没有连接条件的情况下添加来自另一个来源的所有列?
【发布时间】:2018-08-22 12:29:53
【问题描述】:

我想从我的源文件中读取属性,并将属性添加到文件本身的所有记录中

所以我想将读取 FileProperties 的元素加入到数据中的所有行...

Data1 FileProperty1 Fileproperty2
Data2 FileProperty1 FileProperty2

事实上,我只想将属性数据集中的列添加到数据中的每一行......我该怎么做?我尝试合并和查找,但我没有任何 Id 来匹配女巫,只需要追加...

【问题讨论】:

  • 不清楚。这些属性是如何引入数据流的?通过源组件?变量?他们看起来怎么样?举例说明您的源数据、属性和最终预期结果。
  • 类似问题请看我的回答here
  • 据我所知,没有 SSIS 组件可以获取文件属性信息。但是,我建议在控制流中使用脚本任务将这些属性保存到变量中,然后使用派生列将这些变量添加到数据流中。

标签: merge ssis lookup


【解决方案1】:
  1. 创建文件属性变量

  2. 添加脚本任务来控制流:

  3. 将变量添加为读/写

  4. 添加以下脚本(我给你1个属性作为例子)

    System.IO.FileInfo fi = new System.IO.FileInfo("[Your File Path]");
    Dts.Variables["FileSize"].Value = fi.Length;
    
  5. 添加您的数据流并连接到脚本任务(脚本优先)

  6. 将派生列添加到 DF 并为您的变量添加其他列。

【讨论】:

    【解决方案2】:

    使用您的属性文件作为数据透视转换的源,将行转换为列列表。现在您在一行中拥有所有属性,只需将数据透视输出用作源,然后使用合并转换将这些新列与其他文件合并。

    更多关于如何使用Pivot transform的信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多