oracle 查询账号权限数据库迁移时Excel列格式错误导致数据丢失的问题-Oracle-Datapump

数据库迁移时Excel列格式错误导致数据丢失的问题-Oracle-Datapump

 

原因:

 

将数据从老的SQLServer数据库中导出到Excel,使用Excel将数据另存为DBase 3格式文件,使用Datapump将DBase III(*.dbf)格式文件创建到Oracle数据库中。  www.2cto.com  

一切过程顺利,只是经过一周的基础数据迁移后,在新的应用程序界面上发现许多材料总用量为0的记录。

 

怎么可能?如果总用量为0,那就表示用不到,那么这种物料肯定、根本不会入库的。

过程:

 

1、追根究底,最终发现Oracle数据库中的数据存在许多总用量0的记录,如果这里为0,那么数据迁移一次为依据,处理结果肯定也是oracle账号0了。

2、继续追踪,发现从SQLServer导出的Excel数据文件中没有为0的记录。

3、但是却发现,使用量为0.017的变成了1.70E-02这样格式的数据(dbf中也是这样),于是怀疑是Datapump不能识别这样的数据格式导致的。  www.2cto.com  

 

4、将该数据列的格式由科学计数法改为常规,重新转换一遍后正常(说来简单,其实再来一遍耗时挺长,快一周天了)

 

结论:

1、数据核对很重要,包括格式(因为毕竟咱想使用现成的工具,工具不保证数据的业务性)。

2、数据库迁移过程中整理、梳理操作日志,以便于能够在出现意外时快速的重头再来一遍。

3、数据库迁移并不像想想中那样轻松啊。

 

 

作者 noodle123

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。