2015-04-17 48 views
0

我有一個非常基本的SSIS包。將數據從SQL Server 2008表導出到txt文件(逗號分隔)。 最終客戶希望帶有文本限定符(「)的字段,但是當值爲空時不需要文本限定符。 不幸的是,有時這些字段有一個值,而其他時間是空的。有沒有辦法只包含文本?預選賽時,有該領域的真正價值刪除空值的文本限定符

目前出口看起來是這樣的:

"Reference", "Key", "Name", "Custom1" 
"","123456","John Doe", "9515551212" 
"","654321","Jane Doe","" 

首選的輸出:

"Reference", "Key", "Name", "Custom1" 
,"123456","John Doe", "9515551212" 
,"654321","Jane Doe", 

在參考場,它始終是空。所以我試圖在這個字段上設置文本限定符「False」,但是令人難以置信的是他們甚至希望列標題符合文本條件。

+0

這是不可能的,因爲csv文件不像大多數數據庫一樣遵循相同的「NULL」理論。空字符串和空字符串在csv文件中被認爲是相同的,並且限定符表示它應該是空的文本字符串。在任何情況下,如果你有一個「合格的文件,一些領域沒有資格,這將是一個絕對痛苦的進口。如果我是你我會諮詢你的客戶,並堅持他們重新考慮他們的決定 – SFrejofsky

+0

嗯,這是不可能的但是在創建文件後,您可以讓腳本任務編輯文件並刪除所有「」的發生。 –

回答

0

我想出了一個醜陋的解決方法。我創建了一個事務查詢來執行一個case,當[field]爲null時,那麼null else''''+ [field] +'「'結束爲」「」[field]「」「 爲每個字段都做了這件事,我(或者我的顧客)正在尋找什麼。