2013-11-14 111 views
0

我試圖使用「導入嚮導」將數據導入到SQL Server中,並且它失敗,粘貼錯誤,下面我已經嘗試'建議類型'並手動將類型設置爲varchar 255 。我還設置了全球截斷誤差忽略,但它仍然停止進口是否有將數據導入到SQL Server的一個更簡單的方法導入數據時的截斷錯誤SQL Server 2008

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

錯誤0xc020902a:數據流任務1:「Source - Vast Tech - 人員列表(2)_txt.Outputs [Flat File Source Output] .Columns [Position]」失敗,因爲發生截斷, 「Source - Vast Tech - 人員列表(2)_txt.Outputs [Flat File Source Output] .Columns [Position]」上的截斷行配置指定截斷失敗。指定組件的指定對象上發生截斷錯誤。 (SQL Server導入和導出嚮導)

錯誤0xc0202092:數據流任務1:處理文件「\ SANDBOX \ Users \ bpadgett \ Downloads \ Vast Tech - 人員列表(2).txt」時出錯行511. (SQL Server導入和導出嚮導)

錯誤0xc0047038:數據流任務1:SSIS錯誤代碼DTS_E_PRIMEOUTPUTFAILED。 Source - Vast Tech - 人員列表(2)_txt上的PrimeOutput方法返回錯誤代碼0xC0202092。
當管道引擎調用PrimeOutput()時,組件返回失敗代碼。失敗代碼的含義由組件定義,但錯誤是致命的,並且管道停止執行。在此之前可能會發布錯誤消息,提供有關失敗的更多信息。 (SQL Server導入和導出嚮導)

+1

我會查看數據行511並查看該行「位置」列中是否有任何奇怪的值。也許它超過255個字符(儘管這看起來不太可能) - 或者你可能在那裏有一些不可打印的字符。 –

回答

0

要回答您的問題,不,實際上沒有更簡單的方法將數據導入SQL Server。但一旦習慣了它,導入嚮導可以相當容易。

你錯誤的第二段說:

上截斷行處置 「來源 - 浩瀚科技 - 人才 上市(2)_txt.Outputs [平面文件源輸出] .Columns [位置]」 指定截斷失敗。

我的第一個問題是:目標表中的「位置」列有多寬?有可能您的頭寸價值太大了嗎? (我假設它是目標表中的varchar,但如果不是,那可能是您問題的根源。)

接下來,我很好奇511行中的值是什麼它遇到了問題。有沒有可能您正在導入的文件已被損壞或截斷?您沒有提及輸入格式是什麼:如果它是一個CSV文件並且您沒有使用文本分隔符,那麼該行中的某個字段中是否有逗號可能會導致所有其他字段超過一個柱?這可能會導致更長的字段被推入「位置」字段的位置。

檢查(如果您使用的是CSV文件)的快速方法是在Excel中打開它,將所有列擴展到其內容的寬度,然後查看第511行。如果關閉了一個,或者你確實有一個超過255個字符的Position值,那麼它很明顯。

我希望這會有所幫助。