2013-01-09 279 views
0

我試圖導入一個csv文件到SQL Server 2005中的表與嚮導。 但是當我導入文件總是給我這個錯誤:導入csv文件到表

執行(錯誤)消息錯誤0xc02020a1:數據流任務1:數據 轉換失敗。列「列15」的數據轉換返回狀態值4和狀態文本「文本被截斷或者一個或多個 字符在目標代碼頁中沒有匹配。」返回 。 (SQL Server導入 和導出嚮導)

錯誤0xc020902a:數據流任務1:「輸出列‘第15列’ (70)」失敗,因爲發生了截斷,並在「輸出列」截斷行 處置列15「(70)」指定在 截斷處失敗。 指定組件的指定對象上發生截斷錯誤。 (SQL Server導入和導出嚮導)

錯誤0xc0202092:數據流任務1:數據第1行(SQL Server導入和 導出嚮導)

:處理 文件 「\ PEP_ENTITIES_71.csv C」 時發生錯誤

錯誤0xc0047038:數據流任務1:SSIS錯誤代碼 DTS_E_PRIMEOUTPUTFAILED。組件「Source - PEP_ENTITIES_71_csv」(1)上的PrimeOutput方法返回了錯誤代碼0xC0202092。當管道引擎名爲 PrimeOutput()時,組件返回失敗代碼。失敗代碼的含義由 組件定義,但錯誤是致命的,並且管道停止執行。 可能在此之前發佈了錯誤消息,其中包含關於失敗的更多信息 。 (SQL Server導入導出嚮導)

我做錯了什麼?此文件是從查詢中導出的,然後我刪除所有記錄並嘗試導入。

+0

您是否正在導入到現有表格中?什麼是表結構? – Taryn

+0

檢查「Column 15」的數據類型。上述錯誤的一種可能原因可能是由於導致數據截斷的列的大小。嘗試增加csv列的大小 – praveen

回答

2

平面文件導入任務的默認長度爲VARCHAR(50)。您需要轉到平面文件連接頁面的高級屬性並手動更改長度以匹配目標表。還應該有一個建議類型的選項,可以匹配您使用的元數據,但它會對文件中的行進行採樣,因此可能不如手動設置類型那樣精確。

0

可能是因爲您正試圖從CSV中導入數據,該數據對於您要導入的字段而言太大。也許你需要增加SQL表中字段的大小?

您是否嘗試過從CSV中導入一行非常小的數據行以查看其是否有效?如果是這樣,那麼在表格其餘部分的某處可能會出現過大的數據。