将excel里的数据导入到oracle数据库的坑

我碰到的问题是,将excel文件导入数据库时生成的sql里中文数据总是乱码,服了,我淦。

原因最后找到是因为某些数据不匹配,比如oracle里设置的是number数据类型,但是excel数据里是汉字字符串类型,所以不匹配,就导致了最后生成的sql全部乱码,

之前还百度了很多的解决方案,各种设置编码格式utf-8什么的,最后都没有解决,最终才发现乱码的原因是因为数据不匹配,不是因为别的,特此记录一下。

1.第一步,新建excel表格,xls格式的即可,表头与数据库字段对应,这一步一定要注意,我明明复制的字段,最后还能出问题,字段对不上,后面就会出现导入重复列的问题。

2.在excel里填充自己的数据

3.数据库连接工具,我们使用sqldevlper,选中表,右键导入数据,选择文件导入

下一步: 

下一步:什么都不用动,默认直接下一步

下一步:注意匹配条件,默认名称,表格里如果和数据库字段复制一样的话,可以用这个,如果不一样也可以用位置。所以尽量用名称,将表头与字段复制为一样。

第二个需要注意的点是时间格式的,导入后不管成功与否,都会生成对应的sql语句,要根据sql里的时间将格式设置一下,月-日-年,就设置为mm-dd-yyyy,如果是别的自行调整设置。

下一步:点击验证,如下图,部分日期字段我没有设置格式,所以failed正常。点击完成,直接就插入数据了。

原文地址:https://www.cnblogs.com/wanlige/p/13434576.html