我有一个包,我将csv源文件加载到表中。我有两种源文件,员工和员工细节。
例如,员工csv文件有4列eid,ename,names, 年龄。
Employeedetails csv文件有6列eid,ename,names,age, depatname,deptid 。
我的目的地表有开斋节,名字,姓名,年龄,贱姓, DEPTID
现在,我想根据我的Variables集合中的文件类型变量加载这2个文件。我也完成了那部分。
因此,我只使用了一个,而不是使用2个Dataflow任务。我的DFT内部有以下转换。
RawFileSource
|
派生列转换
|
Oledb目的地表
在控制流程中,我使用了执行包任务,当我将文件类型作为Employee时调用Child包,它运行Employee Package,它接收员工CSV文件并将其加载到rawfile目的地。
如果我选择File type as Employeedetails,它会运行EmployeeDetails Package,它将employeeDetails CSV文件加载到rawfile目的地。
现在我采用这个原始文件,需要将其加载到目标表中。敌人可以加载一个文件,当我加载第二个文件时,无论是Employee文件还是EmployeeDetails文件,都会出现元数据问题。
因此我需要转到Package并更改每个转换。
我尝试将所有转换和包级别的外部元数据值验证为false。
如何解决此问题并加载我的两个文件。
答案 0 :(得分:0)
由于这两个文件具有不同的列,因此您需要两个数据流。您可以在控制流程中执行一个步骤,根据您作为变量发送的文件名选择正确的步骤。
但是由于详细信息文件包含了雇员文件的所有列,为什么不处理那个列而忽略另一个?