仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 816|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL网页设计体系从oracle版本转化为sqlserver版本

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:40:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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数据库已经如此普及,对企业来说它无疑是一个更好的选择。
不帅 该用户已被删除
沙发
发表于 2015-1-19 21:11:02 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
兰色精灵 该用户已被删除
板凳
发表于 2015-1-28 10:45:31 来自手机 | 只看该作者
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
爱飞 该用户已被删除
地板
发表于 2015-2-5 19:20:04 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
山那边是海 该用户已被删除
5#
发表于 2015-3-3 17:35:41 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
若天明 该用户已被删除
6#
发表于 2015-3-11 12:18:49 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
老尸 该用户已被删除
7#
发表于 2015-3-18 10:47:23 | 只看该作者
无法深入到数据库系统层面去了解和探究
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-25 18:14:02 | 只看该作者
无法深入到数据库系统层面去了解和探究
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 07:48

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表