數據庫遷移時Excel列格式錯誤導致數據丟失的問題-Oracle-Datapump

原因:

將數據從老的SQLServer數據庫中導出到Excel,使用Excel將數據另存爲DBase 3格式文件,使用Datapump將DBase III(*.dbf)格式文件創建到Oracle數據庫中。

一切過程順利,只是經過一週的基礎數據遷移後,在新的應用程序界面上發現許多材料總用量爲0的記錄。

怎麼可能?如果總用量爲0,那就表示用不到,那麼這種物料肯定、根本不會入庫的。

過程:

1、追根究底,最終發現Oracle數據庫中的數據存在許多總用量0的記錄,如果這裏爲0,那麼數據遷移一次爲依據,處理結果肯定也是0了。

2、繼續追蹤,發現從SQLServer導出的Excel數據文件中沒有爲0的記錄。

3、但是卻發現,使用量爲0.017的變成了1.70E-02這樣格式的數據(dbf中也是這樣),於是懷疑是Datapump不能識別這樣的數據格式導致的。

4、將該數據列的格式由科學計數法改爲常規,重新轉換一遍後正常(說來簡單,其實再來一遍耗時挺長,快一周天了)

結論:

1、數據覈對很重要,包括格式(因爲畢竟咱想使用現成的工具,工具不保證數據的業務性)。

2、數據庫遷移過程中整理、梳理操作日誌,以便於能夠在出現意外時快速的重頭再來一遍。

3、數據庫遷移並不像想想中那樣輕鬆啊。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章