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
相关文档:
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......
--合并重复行
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 * ......
8.2 聚合函数的应用
聚合函数在数据库数据的查询分析中,应用十分广泛。本节将分别对各聚合函数的应用进行说明。
8.2.1 求和函数——SUM()
求和函数SUM( )用于对数据求和,返回选取结果集中所有值的总和。语法如下。
SELECT SUM(column_name) ......
大家好!最近又有了一些模块用法的心得,那就是利用模块使你的内存变成一个虚拟的数据库模式,使你可以在没有数据库的情况下,将txt文件的数据进行 sql语句处理,感觉很新鲜吧,不过这个不用感到惊讶,Perl一直是很完美的,哈哈,那我们就来看看这个神奇吧!
需要安装 模块:
SQl::Library;
DBI
下面是程序 ......
ansi_warning和ansi_nulls 两个选项必须打开,好像对系统也没啥影响。
楼主再检查一下两个地方,经测试,在要使用分布式事务时,这是必须要设置的。
1、链接服务器和名称解析问题
-- 创建链接服务器
EXEC sp_addlinkedserver 'srv_lnk', 'ms', 'SQLOLEDB', '192.168.1. ......