做了一段时间的数据库工作,也遇到过一些,都看似很简单的问题,常常做起来不太顺利,而会耗费很久的时间,为了下次不再犯同样的错,把它记录下来。
首先从excel导数据到数据就出现过两个问题。
遇到的第一问题,没有装数据库补丁,无法做这样的操作。
遇到的第二个问题,因为数据量比较大,放在excel的两个sheet页中,但是,两个sheet页的字段名是一模一样的,我将sheet1的数据导入到数据库,生成一个新的表,sheet1$ ,sheet2也导入数据生成新的表sheet2$,我成功的导入后,想把两个表放到同一个表中,将sheet2的数据插入到sheet1中,这时发现插不进去,提示数据类型转化失败,我查看了下两个表的数据结构,发现两个表的数据类型有不同。这时我有点纳闷,但是为了赶时间我换了另一个方法,就是导sheet2数据库的时候选择已经导过的sheet1表,想把两个页的数据放一个表,但还是提示了一些错误无法导入,这时我想类型不一样,我就用cast去转换下,把不一样的类型字段都用cast全部转过来,但是还是失败了,我有点没辙了,郁闷的很。我又建了一个表,各个字段的类型都设好,这样导,但导入时依然提示无法导入,几经折腾,想不出别的办法,于是我请教了别人,才找到原因。
是因为在excel存在 null,在导入数据库时,它会读第一个数据,按第一条的数据来确定类型的,null存在excel中,被当字符处理了,即使我用cast去转换float类型,也是无法转化的,知道这一点后,把excel中的所有null全部替换成空,这样重新导入就成功了,嘿嘿~。够折腾人的!
阅读(1859) | 评论(0) | 转发(0) |