SQL Server2005/2008 DTS 導入平面資料源時,總是被截斷,無法執行的錯誤解決方案
SQL Server 2005 DTS導入平面資料源時(如txt文檔),總是被截斷,無法執行的錯誤解決方案
1 典型的錯誤資訊如下:
消息
* 錯誤 0xc02020a1: 資料流任務: 資料轉換失敗。列“列 2”的資料轉換傳回狀态值 4 和狀态文本“文本被截斷,或者一個或多個字元在目标代碼頁中沒有比對項。”。
(SQL Server 導入和導出向導)
* 錯誤 0xc020902a: 資料流任務: “輸出列“列 2”(18)”由于發生截斷而失敗,而且針對“輸出列“列 2”(18)”的截斷行處理設定指定截斷時出錯。在指定元件的指定對象上出現截斷錯誤。
(SQL Server 導入和導出向導)
* 錯誤 0xc0047038: 資料流任務: SSIS 錯誤代碼 DTS_E_PRIMEOUTPUTFAILED。元件“源 - 11_txt”(1) 的 PrimeOutput 方法傳回了錯誤代碼 0xC0202092。管道引擎調用 PrimeOutput() 時該元件傳回了一個失敗代碼。雖然該失敗代碼隻與該元件有關,但這個錯誤是緻命的,管道已停止執行。可能在此之前已經發出錯誤消息,提供了有關失敗的詳細資訊。
(SQL Server 導入和導出向導)
* 錯誤 0xc0047021: 資料流任務: SSIS 錯誤代碼 DTS_E_THREADFAILED。線程“SourceThread0”已退出,錯誤代碼為 0xC0047038。可能在此之前已經發出錯誤消息,提供了有關線程退出原因的詳細資訊。
(SQL Server 導入和導出向導)
* 錯誤 0xc0047039: 資料流任務: SSIS 錯誤代碼 DTS_E_THREADCANCELLED。線程“WorkThread0”接收到關閉信号,正在終止。原因是使用者請求了關閉,或另一線程中的錯誤導緻該管道關閉。可能在此之前已經發出錯誤消息,提供了有關取消線程的原因的詳細資訊。
(SQL Server 導入和導出向導)
2 故障分析:
理由很簡單,預設的平檔案,每個字段的寬度是50,
如果你的平面資料源的字段超過這個,則會出現上面這個錯誤。
3 解決方案
也很簡單,在進階裡面,手工設定每個字段允許的最大寬度就行了,截圖如下: