欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MsSQL数据导入到Mongo的默认编码问题(正确导入Mongo的方法)

程序员文章站 2023-11-04 20:21:16
先说下我操作的步骤。1.从sql2008的management studio查询5万条数据,使用右键导出为csv2.由于默认导出没有带列名,手工编辑后增加了列名3.使用mo...

先说下我操作的步骤。
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

直接就可以了。

 

但是这个编码的问题很奇怪,不知道有人深入了解过没有。