SNF平台从sql server包容oracle的处理情势和开发格局

今日有如此1个急需,正是让SNF平台BS版的基本功程序完善协理Oracle数据库。

初中一年级看那是一个相当大的工程,因为大家都晓得
Sql和Oracle的语法有为数不少的差异,如 top
、日期获取、类型之间、特殊的最首要字如sqlserver中会用到
dbo.、[]号都万分、自动增进、分页查询等。所以要合作在筹划时就应当做处理。

        
那在SNF飞速支付平台设计时就考虑了那么些标题,所以大家花了3天的时光从没有Oracle数据库
现搭环境,现创立表空间、现创立表结构导数据,成立体系,甚至把原本用的C#连接oracle的dll库也升格了眨眼之间间。表结构的难题用工具Navicat->数据传输作用援助缓解的,传输过去有1个难点正是表名和字段名加上了””号,再第一次运维程序时意识了难题,统一进行了导出脚本把””去掉再实践难题。数据库升级完后我们还亟需展开程序的调动,万幸框架包容和扩充性相比较好,整个测试后发现
10~20处不吻合需求各类举办了调整,也是满艰巨的。

         经过调整后在SNF框架下开发的时候要小心以下几点:

  1. 借使供给写sql时不要用 dbo.、[]号,
  2. 再有在from后的表起外号时不要用 as
    只要加空格即可。要否则Oracle不合作。
  3. 再有正是字段和表名大小写标题,Sql
    server是不区分轻重缓急写的,在Oracle里会把持有全表名和字段名都变成大写的。为了bs程序页面调用时方便多数库匡助时统一我们做了翻译处理。

 

再开发新程序时,想要利用大家的代码生成器等工具做来的话的开发步骤如下(指BS程序):

  1. 在Sql Server数据库创建表,自增主键也得以采纳。表和字段要把描述写上。
  2. 选用SNF.CodeGenerator代码生成器把相应的单表或多表实体、服务层、页面等代码生成出来。拷贝到项目相应的职位,若是有些代码可能要求调整。
  3. 把程序菜单挂上后,运转和充实性格化作用。
  4. 开发形成后,伊始开始展览Oracle的移交送达。

a)        
接纳Navicat->数据传输功用把表结构复制过去,再Navicat里把表结构导出去掉””号,再创造表结构。也把相应的暗中认可值也处理一下。

b)        
倘若是自增加的话供给制造三个行列号,类别号名为“seq_表名”。那样生成的代码就足以匹配。

c)        
还索要向BaseTranslation表扩张字段翻译,用于翻译Oracle大写字段和Sql
server
Pascal大小写字段名的题材。DataTable是不区分轻重缓急写的永不管。但在页面绑定字段和js取值等地都会有用。为了三遍开发多数据库扶助大家必要处理。

注:翻译后页面使用的是帕斯Carl大小写字段名。如:Id、ParentId、SortCode等。

 

上面SQL脚本,效率是摸索出来有所表字段和帕斯Carl大小写和全大写字段名称。放到翻译表。

 

Insert into BaseTranslation

select distinct [name], upper([name] ) from [syscolumns] where
[id] in(

select [id] from [sysobjects] where [type] = ‘u’

)

union

select distinct [name], upper([name] ) from WorkFlowV30.
dbo.[syscolumns] where [id] in(

select [id] from WorkFlowV30.dbo .[sysobjects] where [type] = ‘u’

)

union

select distinct [name], upper([name] ) from ProjectV30.
dbo.[syscolumns] where [id] in(

select [id] from ProjectV30.dbo .[sysobjects] where [type] = ‘u’

)

select * from BaseTranslation

 

再附赠叁个Oracle备份和回复脚本:

exp SYSTEM/orcl@192.168.2.50:1521/orcl file=d:\snf_oracle.dmp;

 

exp platform/platform@192.168.2.50:1521/orcl
file=d:\snf_oracle_platform.dmp;

作者: 王春天 2015-11-23
作者Blog:http://www.cnblogs.com/spring_wang

  倘若觉得还不错,欢迎转发。

本系列小说列表如下:

依据SNF-飞速支付平台框架的千千万万小说:

SNF飞速支付平台3.2之–.Net可增添的票证编号生成器-SNF.CodeRule

SNF飞快支付平台3.1之–审核流(3)低调豪华,不难不凡,实例演示-SNF.WorkFlow

SNF快速支付平台3.1之–审核流(2)流程设计-SNF.WorkFlow功效使用表达

SNF飞快支付平台3.1之–审核流(1)SNF.WorkFlow审核流简介

SNF连忙支付平台3.0之–完美的代码生成器SNF.CodeGenerator-飞快开发者的利器

基于MVC4+EasyUI的Web开发框架–Spring.Net.FrameworkV3.0完整介绍

SNF快捷支付平台3.0之–MVC
打字与印刷解决方案

SNF快速支付平台3.0之–文件批量上传-统一附属类小部件管理器-在线预览文件(有互连网和尚未二种)

SNF快速支付平台3.0之–asp.net mvc4
强大的导出和不必要上传文件的批量导入EXCEL

SNF快捷支付平台3.0之MVC通用控件库体现-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

SNF神速支付平台3.0之BS页面呈现和九大亮点-部分页面展现效果-Asp.net+MVC4.0+WebAPI+EasyUI
+Knockout

SNF火速支付平台3.0之-界面性子化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

SNF急忙支付平台3.0之-CS页面-Asp.net+Spring.Net.Framework

SNF急迅支付平台3.0之–系统里播放的功效–快捷及时、简明扼要的把音信发送给接收者