【问题标题】:MetaData Error in a SSIS PackageSSIS 包中的元数据错误
【发布时间】:2012-06-04 13:37:36
【问题描述】:

我有一个包,我将 csv 源文件加载到表中。我有两种类型的源文件,员工和员工详细信息。

  1. 例如员工 csv 文件有 4 列 eid、ename、designation、 年龄。

  2. Employeedetails csv 文件有 6 列 eid、ename、designation、age、 depatname, deptid.

  3. 我的目标表有 eid、ename、designation、age、depatname、 部门编号。

现在,我想根据我的变量集合中的文件类型变量加载这 2 个文件。我也完成了那部分。

所以我没有使用 2 个 Dataflow 任务,而是只使用了一个。我的 DFT 内部有以下转换。

原始文件源
|
派生列转换
|
Oledb 目标表

在控制流中,我使用了执行包任务,当我将文件类型指定为员工时调用子包,它运行员工包,它将员工 CSV 文件加载到原始文件目标中。

如果我选择文件类型作为 Employeedetails,它会运行 EmployeeDetails 包,它会在其中获取employeeDetails CSV 文件并将其加载到 rawfile 目标中。

现在我获取这个原始文件并需要将其加载到目标表中。敌人一个文件能够加载,当我加载第二个文件时,无论是 Employee 文件还是 EmployeeDetails 文件,都会出现元数据问题。

因此,我需要去打包并更改每个转换。

我尝试将所有转换以及包级别的 validate External Meta data value 保持为 false。

如何解决这个问题并加载我的两个文件。

【问题讨论】:

标签: ssis


【解决方案1】:

由于这两个文件具有不同的列,因此您需要两个数据流。您可以在控制流中有一个步骤,根据您作为变量发送的文件名选择正确的一个。

但是既然details文件有employees文件的所有列,那你为什么不直接处理那一列而忽略另一列呢?

【讨论】:

  • 嗨,两个输入文件的数据都不同。所以我不能忽略任何文件。无论如何,我都会尝试使用 2 dfts 方法。但是,如果我使用 2 个 DFT,我将数据加载到 RAw File deatination 中,然后将其加载到目标表中。我认为还会出现元数据问题。
猜你喜欢
  • 1970-01-01
  • 2018-07-11
  • 2019-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
相关资源
最近更新 更多