|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
正如前文所提到的,MySQL易学、易部署、易管理和易维护。oracle|server|sqlserverWaterxp从oracle版本转化为sqlserver版本
1,体系布置
为了oracle版本和sqlserver版天性很便利的转化,也为了两个版天性同步修正,出格是营业逻辑层。现决意以下:
A,两个版本的营业逻辑层都放在source目次下。在该目次下有两个目次:
sql和ora。这两个目次有三个文件:
common.pbl,water_modi.pbl,dw_version.pbl。
这三个文件内里尽年夜部分是数据窗口,次要是由于sqlserver和oracle的语法有不同。假如只是由于数据窗口有双引号在sqlserver里不克不及用,那末把数据窗口的select语法的字段引号往失落便可,由于没有引号的select语句在sqlserver和oracle上面都是可用的。修正的过程当中注重update属性。
B,分歧的数据库将利用分歧的目次。
2,体系情况的创建
每台呆板上创建上面的磁盘映照:
P指向oraservrp237
V指向oraservrql237大概是oraserverora237
源代码在oraservercodewater237ource内里。
P盘是一定要有的,V盘由利用甚么版本决意。
3,源代码的修正
营业层的修正尽量的在源代码处,由于如许修正能让两个版本同时修正。
P盘是类库能够不必要修正。
V盘里的数据窗口都必要改。
改sql237内里的数据窗口,要修正和要注重的中央:
交换的办法
oracle内里利用sqlserver内里利用
to_char(readingdate,’yyyymm’)convert(char(6),readingdate,111)
to_char(readingdate,’yyyy/mm’)convert(char(7),readingdate,112)
decode(,,,,)casewhenthenend大概isnull(x,0)
摆布毗连(+)leftouterjoin
修正过程当中要注重数据窗口的update属性。
4,事情企图
4,1先修正sql237目次下的三个pbl内里的数据窗口的语法。为了照应数据窗口的update属性,倡议利用editsource的办法,并且select语法字段的引号在sqlserver版本倡议往失落。利用pb的replace功效便可。
4,2修正某些数据窗口的内嵌式sql的语法。由于有一些内嵌式sql也利用了decode(),大概是to_char(),这些语法在sqlserver也是必需取代的。
修正办法:
ifgs_database=‘ORACLE’then
………………decode()……………;
else
…………………casewhenthenend………..;
endif
4,3最初的事情是测试。这是最烦琐的最主要的。在测试的历程会发明有一些数据窗口在sqlserver不克不及用:修正办法是将字段的引号往失落大概是移到sql和ora目次内里的dw_version.pbl文件内里,在那边举行修正。
4,4次要的数据表都已迁徙过去了,名字一样,大概在sqlserver有一些表的字段不敷那末请从头导进一次。次要的存储历程都已翻译过去,名字纷歧样。在测试的历程会发明有一些视图没有存在,那末请从oracle把语法拷贝出来,在sqlserver查询剖析器里天生之。
由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。 |
|