2012-06-04 66 views
0

我有一個包,其中我將csv源文件加載到表中。我有兩個源文件,員工和employeedetails的類型。SSIS包中的元數據錯誤

  1. 例如僱員csv文件具有4列EID,ENAME,指定, 年齡。

  2. Employeedetails CSV文件有6列EID,爲ename,名稱,年齡, depatname,DEPTID

  3. 我的目標餐桌有eid,ename,指定,年齡,depatname, deptid。

現在,我想加載這2個文件基於我的變量集合中的文件類型變量。我也完成了這部分。

因此,我沒有使用2個數據流任務,而只使用一個。我的DFT裏面有以下轉換。

RawFileSource
|
派生列轉換
|
OLEDB目標表

控制流我已經使用執行包任務時,我給的文件類型爲員工whcih調用子包,它運行員工包凡需要員工的CSV文件,並將其加載到rawfile目的地。

如果我選擇文件類型Employeedetails,它運行EmployeeDetails包凡需要employeeDetails CSV文件,並將其加載到rawfile目的地。

現在我把這個原始文件,並需要加載到目標表。敵人一個文件是能夠加載,當我加載所述第二文件是它或者僱員文件或文件EmployeeDetails,發生元數據的問題。

因此,我需要去包裝和改變每一個轉變。

我試圖保持外部元數據值爲所有的轉換和包級別的虛假。

如何解決此問題並加載我的兩個文件。

+0

看看我的答案在http://stackoverflow.com/questions/10686785/ssis-pkg-with-flat-file-connection-with-fewer-columns-will-fail/10696025#10696025我想你「再運行到同樣的問題 – billinkc

回答

0

由於兩個文件有不同的列,所以需要兩個數據流。您可以在控制流程中選擇一個步驟,根據您作爲可變值發送的文件名選擇正確的文件。

但是由於詳細信息文件包含員工文件的所有列,爲什麼不直接處理該文件而忽略其他文件呢?

+0

喜,無論是輸入文件中的數據變化。所以我不能忽略任何文件。任何方式我會嘗試使用2 dft的方法。但是,如果我使用2 DFT的我加載數據到RAW文件的無效數據,並將其加載到目標表中。我認爲也存在元數據問題。 – user1348424