作者:罂粟花的美童鞋 | 来源:互联网 | 2014-07-13 17:52
数据库迁移时Excel列格式错误导致数据丢失的问题-Oracle-Datapump原因:将数据从老的SQLServer数据库中导出到Excel,使用Excel将数据另存为DBase3格式文件,使用Datapump将DBaseIII(*.dbf)格式文件创建到O...SyntaxH
原因:
将数据从老的SQLServer数据库中导出到Excel,使用Excel将数据另存为DBase 3格式文件,使用Datapump将DBase III(*.dbf)格式文件创建到Oracle数据库中。 www.2cto.com
一切过程顺利,只是经过一周的基础数据迁移后,在新的应用程序界面上发现许多材料总用量为0的记录。
怎么可能?如果总用量为0,那就表示用不到,那么这种物料肯定、根本不会入库的。
过程:
1、追根究底,最终发现Oracle数据库中的数据存在许多总用量0的记录,如果这里为0,那么数据迁移一次为依据,处理结果肯定也是0了。
2、继续追踪,发现从SQLServer导出的Excel数据文件中没有为0的记录。
3、但是却发现,使用量为0.017的变成了1.70E-02这样格式的数据(dbf中也是这样),于是怀疑是Datapump不能识别这样的数据格式导致的。 www.2cto.com
4、将该数据列的格式由科学计数法改为常规,重新转换一遍后正常(说来简单,其实再来一遍耗时挺长,快一周天了)
结论:
1、数据核对很重要,包括格式(因为毕竟咱想使用现成的工具,工具不保证数据的业务性)。
2、数据库迁移过程中整理、梳理操作日志,以便于能够在出现意外时快速的重头再来一遍。
3、数据库迁移并不像想想中那样轻松啊。
作者 noodle123