csv檔案匯入sql server常遇到的錯誤
阿新 • • 發佈:2019-01-10
在SQL Server 2008中將公司資料庫中某個表的資料匯出到文字檔案(UTF-8)中,然後帶回家之後通過SSIS匯入到家裡的電腦(936)中去,導如的過程中發現如下錯誤:
................定了多個內碼表(65001 和 936)...............................
經過相關資料查詢,知道是儲存檔案的內碼表(UTF-8)和自己電腦上安裝的SQL Server 2008的內碼表(936)之間有不同,也想過找個“中文程式碼轉換器”之類的軟體進行文字檔案的轉換,其實不用這麼麻煩,只需要開啟該檔案,然後將文字檔案另存一下就可以了。其中需要注意的就是編碼一定要選擇成“ANSI”。
2、錯誤 0xc02020a1: 資料流任務: 資料轉換失敗。列“列7”的資料轉換返回狀態值 2 和狀態文字“由於可能丟失資料,所以無法轉換該值。”。
解決辦法:在匯入過程中,“高階”選項裡邊,將報錯的欄位文字格式由預設值修改為“TEXT stream”,就ok啦。
3、預設情況匯入是往目標表中追加,可以在編輯對映地方修改是追加還是覆蓋。
4、匯入時,欄位根據資料來源前N行確定欄位型別,追加時,有可能因為欄位不匹配而匯入失敗,可以修改目標資料庫欄位型別避免此錯誤。例如:vchar轉float就有可能報錯。