我在使用SSIS數據導入嚮導將數據從製表符分隔的平面文件(TSV文件)上傳到SQL Server 2005中時出現問題。我沒有在SQL Server 2000中使用同樣的過程遇到這個問題,並且我已經檢查了我嘗試導入的文件的內部結構在SQL Server升級發生之前就沒有變化。使用SSIS導入/導出嚮導在數字列中保留NULL?
問題是所有具有數字數據類型的列中的空值(例如smallint,float等)在導入時被轉換爲0,而不是NULL。這意味着跨越這些數據的AVG會給出錯誤的輸出。
TSV文件不包含文本限定符,但是測試使用具有某些虛擬數據的限定符不會導致解決此問題。
可以通過導入到VARCHAR列來保留NULL,但這遠非理想。有沒有方法指示SSIS導入/導出嚮導將空白值從平面文件導入到數字數據類型爲NULL而不是0的列中?
這是否意味着導入/導出嚮導中無法切換「保留空值」設置? 其中的替代方法是導入數據最有效的方法嗎?到目前爲止,我只使用嚮導導入。 道歉,如果這似乎是一個基本問題 - 我不是程序員,我的工作是分析數據並基於它生成報告,但爲了做到這一點,我需要把它放到數據庫中。 – Lethanta
@Lethanta;這是正確的,對不起。其他導入數據的方法更多的是「程序員」 – gbn