Import

使用 SQL Server 導入和導出嚮導 (SQL Server Express) 導入 CSV 文件

  • May 3, 2016

所以我在導入 CSV 文件時遇到了麻煩。最終目標是創建一個可重複的過程來導入文件。我能夠導入文件的唯一方法是使用 MS Access 以迂迴的方式(導入 Access 然後導出到 SQL Server),它愉快而愉快地沒有問題。

但當然 SQL Server(Express 或其他)也應該能夠導入它。

該文件在這裡: http: //ourairports.com/data/特別是:http: //ourairports.com/data/airports.csv

這是一個很好的數據集(現實世界的數據),我設計了規範化它,把它帶入 SSRS 等等,主要是為了學習並有一些東西來“展示”潛在的雇主。

但是,如果文件導入沒有錯誤,我會被詛咒的。理想情況下,列將適當地導入和轉換,即數字列應最終出現在定義為 Int 或任何最合適的表中。

我看到的最常見的錯誤是:

數據轉換失敗。列“wikipedia_link”的數據轉換返回狀態值 4 和狀態文本“文本被截斷或目標程式碼頁中的一個或多個字元不匹配”。

理想情況下,我想通過 T-SQL 和批量插入導入文件,但有類似的問題。

也許如果有人可以看看發生了什麼,理想情況下我會在這裡學到一些東西,而不是僅僅尋找一個快速的答案,除非我當然只是在做一些愚蠢的事情,比如忘記一個複選框。

謝謝

插入的方法似乎不是問題,更多的是數據本身

您收到的錯誤是因為您的數據庫表中的一列太短(請參閱您的列“wikipedia_link”)查看它的長度,如果可以增加它,請注意很可能有更多錯誤其他類似的列,根據該欄位中包含的數據判斷,最長欄位為 128 個字元,因此我將欄位 nvarchar(130) 設為最小值

如果您在 excel 中載入 csv,您可以使用 {=MAX(LEN(Q:Q))} 找出列的最大長度(注意在鍵入查詢後按 ctrl + shift + enter 獲取 {} 數組計算)

檢查所有欄位是否足夠長,然後重試

通過更改列寬,我能夠使用導入和導出嚮導成功導入文件;名稱、wikipedia_link 和關鍵字到 255

引用自:https://dba.stackexchange.com/questions/80696