2013-03-14 202 views
0

我正在使用SQL Server導入和導出嚮導從csv文件導入數據以追加到我現有的SQL Server表中。將csv文件導入到SQL Server 2008表中

因此,要將csv文件中的數據追加到我的SQL Server表中,在Choose a Data Source窗口中,我確保我的csv數據源中的每列與我的SQL Server表列具有相同的數據類型。

但是,我最終導致在導入時出錯。

錯誤0xc02020a1:數據流任務1:數據轉換失敗。 「成熟度(小時)」列的數據 轉換返回狀態值2和狀態 文本「由於可能丟失 數據,因此無法轉換該值。」。 (SQL Server導入和導出嚮導)

錯誤0xc0209029:數據流任務1:SSIS錯誤代碼 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 「輸出列」成熟度 (小時)「(42)」因爲錯誤代碼0xC0209084發生而失敗,並且「輸出列」成熟度(小時)「(42)」上的錯誤行處置 指定 錯誤失敗。 指定組件的指定對象發生錯誤。在此 之前可能會發布錯誤消息,並提供有關失敗的更多信息。 (SQL Server導入和 導出嚮導)

我的SQL Server表有Maturity(小時)int數據類型。

對於我的csv文件,在SQL Server導出/導入嚮導中,我爲Maturity(小時)選擇了DT_I4,這相當於SQL Server中的int數據類型。儘管如此,我仍然無法擺脫過去3個小時的錯誤。

有關如何解決此問題的任何線索?

+0

做的所有領域具有相同長度的數據類型也開 – Ron 2013-03-14 21:06:50

+0

羅恩您好,感謝您的評論。?。 Apaprt確保SQL結束和csv文件上的每個字符串字段的字段大小,如何確保int列的字段大小? – Nemo 2013-03-14 21:09:35

+0

我不確定csv文件中的值,並且列是否有嚴格地說是int。我會嘗試通過將列類型更改爲數字並指定精度。 – Ron 2013-03-14 21:14:12

回答

0

只要看看csv文件,如果任何字段有逗號(如果您使用逗號作爲列分隔符或雙引號(如果您使用雙引號作爲文本限定符)。上述2種情況

注:我把這個作爲答案,因爲我無法對你的問題發表評論

+0

我使用雙引號作爲文本限定符,並在通過分治法追蹤大量數據時,發現有幾行有雙引號。感謝您的一般答案。 – Nemo 2013-03-28 18:13:22

+0

你能告訴我你是如何處理這個錯誤的?你剛剛跳過這些記錄,或者你做了其他修復? – Maximus 2013-03-29 04:50:34

+0

我曾經從我的一個團隊獲取csv文件,我有一份工作將其導入到我的sql表中。我要求我的團隊向我發送乾淨的數據。我希望團隊負責給我提供正確的資料。 :) – Nemo 2013-03-29 13:50:34

相關問題