易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server 移植到Oralce 项目实战

项目背景
         移植一个现有系统到Oracle。原系统基于.Net Framework 1.1, SQL Server 2000数据库,数据操作基本全部使用Store Procedure,总数逾千,因此总体涉及的PL SQL 开发量比较大。
 
         优先级高,开发时程短,参与人员多,是这个项目的显著特点。本人作为项目负责人,主要按照下列步骤进行,最终圆满达成目标。
 
第一步    评估
1.       确认需要移植的功能列表
2.       评估主要工作量
工作重点在于移植SQL Server SP到 Oracle Package,预估移植一个SP所需平均时间等
 
第二步    前期准备
1.       确定目标Oracle数据库的版本(Oracle10.1.0.5.0)和编码(ACTUTF8)
数据库的编码确定非常重要,由于原系统支持多语言存储,所以Oracle我们选择了ACTUTF8。这种编码对应的SQL Server 中,1个字符占3个字节。
2.       Oracle 数据库设计(咨询Oracle DBA)
3.       评估技术难点,找解决方案
1)       Identity栏位实现
使用Trigger
2)       临时表实现
使用Oracle的临时表(8i后已提供)
3)       .Net Oracle驱动程序
采用ODP.NET
4.       确定SQL Server -> Oracle 表 / 栏位映射关系,形成SQL Server/Oracle 表对照文档
1)       一般原则,原对象的名称不做改变;
2)       栏位类型,字符类型 -> VARCHAR2,  数字类型 -> NUMBER(m, n);
3)       栏位长度,最大长度 *3, 保存固定长度ID的栏位长度不做变更;
4)       在Oracle 中建立对应表,通过SQL Server DTS导入基础数据
5.       SP使用Package组织,并重新命名,形成SQL Server/Oracle SP对照文档。
因为Oracle 对象名称长度不能超过30,SQL Server 的SP长度普遍超过30,因此需要重新命名并分组。
6.     &nb


相关文档:

一个稍微修改的SQL无限分级

前段时间  把之前的无限分级表稍微做了一些改进 改进后的表结构如下
ID  Name  ParentID ParentIDList  level
1    A          0             0-1   &nbs ......

sql语句查询结果合并union all用法_数据库技巧

--合并重复行
select * from A
union
select * from B
--不合并重复行
select * from A
union all
select * from B
按某个字段排序
--合并重复行
select *
from (
select * from A
union
select * from B) AS T
order by 字段名
--不合并重复行
select *
from (
select * from A
union all
select * ......

sql 常用聚合函数

8.2  聚合函数的应用
聚合函数在数据库数据的查询分析中,应用十分广泛。本节将分别对各聚合函数的应用进行说明。
8.2.1  求和函数——SUM()
求和函数SUM( )用于对数据求和,返回选取结果集中所有值的总和。语法如下。
SELECT          SUM(column_name) ......

SQL分组排序

 
今天遇到个有意思的问题,是一个分组排序的问题,不过要求分组和分组间也要排序,如果这个组内有一条数据是最近更新的,那么这整个组都应该排在前面。
下面以Oracle的HR示例Schema中的employees表为例:
语句按部门分组,分组之间的排序是这样的:如果整个分组中有一个员工的hire_date是最新的,那么这个分组就应 ......

SQL数据库服务器的安全策略 保护数据安全

 SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似&ld ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号