前兩個月接了一個公安局的項目,這段時間終于接近尾聲了,程序也基本沒什么問題了。但數據遷移的需求擺到了我的面前,因為目前他們正在使用一套基于Oracle的C/S系統,這套系統里面有到目前為止所有的人員和案件信息,他們不想重新錄入,所以需要從Oracle中遷移到目前的SQL Server中。
1.我先在本機安裝了一個高版本的Oracle數據庫(9i),測試熟悉了一下,學習了一下數據的導入導出等等功能,然后從服務器上將現有的數據庫導出并Download下來,在本地數據庫中建立相同的用戶,導入進本地數據庫。
2.由于Oracle轉到SQL Server比較麻煩,所以我使用了現成的工具Full Convert Enterprise軟件,很方便的將Oracle數據轉移到了SQl Server,只有一條數據出現了錯誤,這點錯誤可以忽略不計。
3.轉移過來之后,查看數據庫,發現絕大部分的字段都是varchar類型,就是因為都是這種類型帶來了一些問題,比如日期,竟然有1940-04-00,暈死了,怪不得總是出現smalldatetime轉換溢出。日期非法的問題,可以使用IsDate函數來檢查一下,正確返回1,非法返回0
4.原系統設計中最大的問題就是,犯罪人員可以重復添加進去,導致不同的案件相同的人員卻有多個人員記錄,冗余大。這還不算,身份證和出生日期可以為空,就更麻煩了,根本無法識別哪些是同一人員,對于遷移到新系統中來說很麻煩,沒辦法,只能修改新系統的數據庫結構,將唯一性去掉。
5.原系統中還有幾點不好的地方就是,專門有一個表用來存放詞典,而且比較大,幾萬條,案別,類別,省市區等等都放進去,最讓我痛恨的是他省市區不是分開的,而且放在一起的,比如江蘇南京,南京江寧,南京鼓樓,光這樣都三條了,所以大家可以推一下全國三級城市會出現多少條,不僅如此,他還沒有稱號可以分割,比如省、市、區、縣、自治區等等,都沒有,有的話還可以切分。新系統使用的省市區是分離的,所以我暫時沒想到好的辦法解決,就把原系統中的省市區加到了新系統的詳細地址里面去了。
---------------------------------------------------------
專注移動開發
Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
posted on 2007-10-22 13:42
TiGERTiAN 閱讀(2839)
評論(5) 編輯 收藏 所屬分類:
VB/ASP 、
Oracle