2011-01-06 39 views
13

我已經將記錄導出到由「|」分隔的平面文件中看來當我將這些記錄導入新數據庫時,SQL Server將NULL值視爲空字段。 IMy查詢在記錄/字段爲NULL時正常工作,因此我想要找到一種方法在數據中保留NULL值或將空白字段轉換爲NULL值。我假設前者會更容易,但我不知道該怎麼做。任何幫助,將不勝感激。如何在使用SSIS從SQL Server 2005中的平面文件導入時保留NULL值

回答

16

在數據流中的目標連接中,有一個屬性,您可以用chceck表示Keep nulls,JUst檢查該屬性。爲什麼這不是我永遠不會知道的默認值。

嗯,有什麼東西在那裏。我可以建議您清理數據並將其更改爲空,您可以將其作爲數據流的一部分來執行此操作,也可以執行兩個數據流,即將數據插入臨時表中,然後運行SQl任務執行清理然後創建一個數據流從臨時表運行到實際表。

+4

+1,阿門如何做到這一點,以「爲什麼不是默認我會永遠不知道「 – 2011-01-06 22:56:54

+0

我檢查過那個盒子,但它似乎沒有什麼區別;該字段在表中仍然顯示爲空白而不是NULL。我也重新檢查了這個文件,我的分隔符「|」之間沒有空格。即使預覽顯示字段爲空白。我錯過了什麼嗎? – ofm 2011-01-07 00:00:55

18

我剛剛有同樣的問題。我通過在數據流任務中的平面文件源的屬性中更改RetainNulls屬性來解決此問題。

0

萬一有人正在構建軟件包編程時,你需要設置變量在CManagedComponentWrapper對象

CManagedComponentWrapper instanceSource = ComponentSource 
... 
instanceSource.SetComponentProperty("RetainNulls", true); 
相關問題