2016-07-07 78 views
0

我目前正在設計爲SSIS包來導入一些CSV文件,並需要考慮各種錯誤類型。其中一個錯誤是錯誤或缺少文本限定符。SSIS處理平面文件丟失文本限定符

IE: 「COL1」, 「COL2」, 「COL3 /」,COL4"

軟件包當前引發錯誤 「[ProductMaster CSV [66]]錯誤:列分隔符列」 第2列「沒有被發現。」 這是我所期望的在這種情況下看到的。

顯然得到正確的格式最初發送的文件是不是在目前的一個選項。

我已經嘗試將文件更改爲不具有文本限定符,但如果字段中存在逗號,則此問題會失敗,因此不是可行的解決方案。

有沒有辦法處理這個?

+0

在你的例子中,你知道**肯定** col3有缺失的文本限定符 答案是你沒有這種問題只會導致問題下線 – BIDeveloper

+0

做一個腳本任務來修復文件,然後導入它或執行進程任務,並使用現有的清理實用程序,這是一次性的事情嗎?Excel實際上是很好的修復你可以在Excel中打開並保存或轉換回CSV或其他東西。我通常要求Pipe(|)分隔的原因是分隔符少了分隔符:) – Matt

+0

這將是我們收到的每日文件,但我希望這個測試是一個極端的例子,如果創建該文件的系統實際上會導致文本分隔符錯誤,會感到驚訝。儘管如此,可能會看一些第三方選項。 管道建議是一個很好的! –

回答

0

我使用第三方工具來讀取csv文件,它處理這種情況。如果你必須自己做一些事情,我會將整行導入到一列,然後用存儲過程或腳本組件解析它。

有很多解決方案,有些是免費的,有些是以最低的成本。

我從來沒有找到一種方法來處理SSIS連接管理器'開箱即用'。

0

要解決此問題,請查看您的文件格式。使用文本編輯器如Notepad ++,如果你的文件是CR,確保你不使用(「)代替在文本限定符中選擇,並在標題行中選擇CR。這應該是100%