随笔-348  评论-598  文章-0  trackbacks-0

前两个月接了一个公安局的项目,这段时间终于接近尾声了,程序也基本没什么问题了。但数据迁移的需求摆到了我的面前,因为目前他们正在使用一套基于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 阅读(2830) 评论(5)  编辑  收藏 所属分类: VB/ASPOracle

评论:
# re: Oracle数据迁移到SQL Server小结 2007-10-22 17:29 | leekiang
可见原系统是做得多么的烂  回复  更多评论
  
# re: Oracle数据迁移到SQL Server小结 2007-10-22 18:27 | TiGERTiAN
@leekiang
呵呵,人家可是部版的系统,不知道为什么会这样,我做系统的时候他们还说要有重复数据查询的功能,我晕,貌似应该是基本的要求,不用他说我自己都已经做进去了,添加的时候就要检测是否人员已经存在了。。  回复  更多评论
  
# re: Oracle数据迁移到SQL Server小结 2007-10-23 18:00 | BeanSoft
insert into [犯罪人员] values('TiGERTian', '南京')  回复  更多评论
  
# re: Oracle数据迁移到SQL Server小结 2007-10-23 18:24 | TiGERTiAN
Isert into [案件] select top 100 * from BeanSoftCrimeRecords Where 罪行>'抢劫'  回复  更多评论
  
# re: Oracle数据迁移到SQL Server小结 2012-10-08 16:39 | datawarehouse
不会是刑侦系统吧?  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: