在用SQL Server導入csv文件的時候出現如下錯誤:
登錄失敗。該登錄名來自不受信任的域,不能與 Windows 身份驗證一起使用。 (Microsoft SQL Server Native Client 10.0)
如下圖所示:
由於是遠程導入的,可能是在遠程導入有域的限制。將文件拷貝到遠程主機,在遠程主機上導入即可解決問題。
另外在導入平面文件(*.xls/*.csv....)時,一般第一行是列名的,但是導入的時候默認的列名是列1、列2......,如何將第一行的內容作為列名呢?只需要勾選在第一個數據行中顯示列名稱即可。如圖:
導入數據時肯能有如下錯誤提示:
- 正在執行 (錯誤) 消息 錯誤 0xc02020a1: 數據流任務 1: 數據轉換失敗。列“項目名稱”的數據轉換返回狀態值 4 和狀態文本“文本被截斷,或者一個或多個字符在目標代碼頁中沒有匹配項。”。 (SQL Server 導入和導出向導) 錯誤 0xc020902a: 數據流任務 1: “輸出列“項目名稱”(22)”由於發生截斷而失敗,而且針對“輸出列“項目名稱”(22)”的截斷行處理設置指定截斷時出錯。在指定組件的指定對象上出現截斷錯誤。 (SQL Server 導入和導出向導) 錯誤 0xc0202092: 數據流任務 1: 處理文件“F:\10中國聯合工業中心\Document\信息.csv”的數據行 12 時出錯。 (SQL Server 導入和導出向導) 錯誤 0xc0047038: 數據流任務 1: SSIS 錯誤代碼 DTS_E_PRIMEOUTPUTFAILED。組件“源 - 合同基礎信息_csv”(1) 的 PrimeOutput 方法返回了錯誤代碼 0xC0202092。管道引擎調用 PrimeOutput() 時該組件返回了一個失敗代碼。雖然該失敗代碼只與該組件有關,但這個錯誤是致命的,管道已停止執行。可能在此之前已經發出錯誤消息,提供了有關失敗的詳細信息。 (SQL Server 導入和導出向導)
那是因為字段長度太短造成截斷的緣故,將列Width設置成合適即可成功導入。