欢迎来到天天文库
浏览记录
ID:8977675
大小:20.20 KB
页数:4页
时间:2018-04-13
《sqlserver2005移植到oracle10g经验总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQLServer2005移植到Oracle10g经验总结 此次需要完成的目标是将库从SQLServer 2005完整的移植到Oracle10g中,包括表结构、数据、视图、函数以及存储过程的移植,移植主要基于Oracle的OMWB(OracleMigrationWorkbench)来完成,尽管OMWB能帮助完成大部分具备难度的工作,但还是有很多工作量的事情需要在OMWB完成后来手工进行,所以整个移植过程工作量看起来会非常大,但是不是仅仅只有工作量的问题呢?我觉得不是,写下这篇blog以便需要进行此项操作的同学以及给自己
2、做个备忘。*A"Z#s,f#z;U8
3、&w0]6Q(K 由于目前OMWB仅支持SQLServer2000,根据官方网站的消息,OMWB的下一版会推出对SQLServer2005的支持,所以在目前的情况下只能先把库从SQLServer2005移植到SQLServer2000,这就是我们移植过程的第一步了。&/C"B.S)@!_ 一、SQLServer2005——>SQLServer2000+~"k2i4W:A9F!l#i(U#~"L%F/i%_"u)H8B7V"f 一直以来,版本要降级都是很困难的,因为在新版本中必
4、然会有些新的特性,而如果刚好凑巧你使用到了这些特性的话,在降级到低版本时就会碰到一些问题,在经过几次的尝试后,总结而言,这个过程还是比较容易做的,毕竟是同样的数据库,再怎么样也不会出太大的问题,不过也没有像将库从SQLServer2000升级为SQLServer2005那么简单,整个移植过程这么进行:7w0i5~.c/b4m/B/[0c,]2E/C3Y"r 1、基于SQLServer2005的数据导出将表结构和数据导入到SQLServer2000;7?7[ @)2v#W(~4?;x$C:P [.Q$V2`8s$R
5、+_3O 这步中需要注意的是默认情况下SQLServer会将表和视图一起导入,在这里不要选择视图,否则导入到SQLServer2000后有些视图会变成表,选择需要导入的表后基本上这步不会出现什么问题,可以完成表结构和数据的移植。.B*u5n:N)B-o(y4f,t"? 2、基于SQLServer2005的生成脚本将视图/函数/存储过程移植到SQLServer2000;5p!O$},b5I 这步需要慢慢来,因为在视图/函数/存储过程中你可能使用到了一些SQLServer2005的新特性,如果碰到这样的情况,只能是手工
6、进行修改,以使它完全符合SQLServer2000的要求,尽管在生成脚本时你可以选择生成的目标版本为SQLServer2000,但还是会有部分脚本执行是会出错的。!`#o0G$J i*x)C3s'r 在完成了SQLServer2005到SQLServer2000的移植后,就可以基于OMWB来把库从SQLServer2000移植到Oracle了,这步尽管有工具,还是会比较的麻烦,总结如下:5N;]8H)u,
7、8n/[,I"m 二、SQLServer2000——>Oracle10g 关于如何基于OMWB将库从SQLS
8、erver2000移植到Oracle10g的操作步骤可参见此篇文档: http://www.oracle.com/technology...velop/omwb/omwb.htm8k1^#,M2N&W;Z*w2{ 大家现在从oracle官方站下的话可能会找不到sqlserver2000的插件包,如果找不到的话可以从这里下载: 我在这里要总结的是基于OMWB将库从SQLServer2000移植到Oracle10g后还需要手工做的一些事情,不要指望OMWB能无缝的帮你把库从SQLServer移植到Oracle中,银弹
9、是不存在的,因此我们需要做些手工的工作完成库的移植: 1、移植表结构和数据可能会出现的问题;9I3o+]5T7]0
10、)
11、5n7t4v9H.I)G0t 表中字段的默认值/主键/外键/索引移植不过去,这些需要手工的进行补充;"B&v!})p6Q/`5X-@:X 2、移植视图可能会出现的问题;7[*A1t!q-{)d+C2z/N%d,b1n5z:v6J3s,G 移植过去的视图可能会出现各种语法错误的问题,这需要手工的修正,一般来说都是较为简单的错误;9X:j:
12、9q2E8[;f R1h o'C 另外一种问题就是有
13、些视图可能会无法移植过去,这些视图就只能在对比OMWB的移植报告后找出来手工的进行移植了。5x-z$i#}:I8S8t 3、移植函数/存储过程可能会出现的问题; 移植过去的函数/存储过程中可能仍然会有不少的语法问题,例如像SCOPE_IDENTITY()、REPLICATE、newid()这些OMWB不知道该怎么
此文档下载收益归作者所有