先說下我操作的步驟。
1.從sql2008的management studio查詢5萬條數據,使用右鍵導出為csv
2.由於默認導出沒有帶列名,手工編輯後增加了列名
3.使用mongoimport導入數據,錯誤,提示invalid utf8 character
檢查了一下,是因為默認導出為csv的時候,不是utf8的格式而是系統的默認編碼,采用openoffice編輯另存為utf8格式就可以解決編碼問題,但是發現使用openoffice後列名和數據不匹配,列名很多都疊在一起了,雖然數據是能導入進去了,但是根本不能用。
換了一種做法,不使用導出csv,直接copy數據到excel然後另存為csv,一切正常,這裡就發生了一個很奇怪的問題,這裡使用的編碼還是默認的系統編碼,為什麼不提示錯誤呢?
由於手工轉換成csv在數據量小得時候可以,但是數據量大的時候編輯比較慢,就在mangement studio中配置了一下。
選項-查詢結果-sql server-以網格顯示結果,選中“在復制或保存結果時包含列標題”
這樣在使用導出為csv的時候,默認就是帶著列名的。
復制代碼 代碼如下:
mongoimport -d local -c testtable --type csv --headerline --file c:\inmongo.csv
直接就可以了。
但是這個編碼的問題很奇怪,不知道有人深入了解過沒有。