2017-09-15 88 views
0

我具有以下csv文件:忽略從平面文件源最後/損壞記錄在SSIS

col1, col2, col3 
"r1", "r2", "r3" 
"r11", "r22", "r33" 
"totals","","", 

接着用2個空行。導入失敗,因爲在最後一個數據行末尾有額外的逗號,並且最後可能會失敗,因爲最後有多餘的空行。

我能否以某種方式跳過最後一行,甚至當我進入該行時停止導入?它總是在「col1」中有「總計」字符串。

UPDATE:

至於我能從這是不可能做到這一點與平面文件的答案的理解。目前我以「腳本組件」作爲源代碼來執行此操作

+0

什麼SSIS的版本( SQL服務器版本) – Jayvee

回答

1

我知道SSIS中沒有內置任何內容,可讓您忽略CSV的最後一行。

處理此問題的一種方法是在您的數據流之前添加一個腳本任務,該腳本任務使用FileSystemObject編輯CSV並刪除最後一行。

1

您將需要創建一個自定義腳本,您可以在其中讀取SSIS中所有行,而只讀取最後一行。

2

您可以通過將該行讀取爲單個字符串來完成此操作。

有條件拆出空和左(COL0)== 「總」

在腳本組件

你再使用分割功能

最後修整( 「\」「)