先说下我操作的步骤。
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
直接就可以了。
但是这个编码的问题很奇怪,不知道有人深入了解过没有。
原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/234642.html