sqlserver向oracle移植注意事项
1、检查sqlmap中select语句如果resultClass="java.util.HashMap",则在oracle版的sqlmap语句中
select出来的字段需要用as "字段名xxx" 指定一下字段的别名,因为oracle默认查询结果中各字段名变成大写了,
如果要与sqlsever版保持一致,需要用as把字段别名指定一下。
2、检测表名后的别名是否用as指定,如果有把as去掉
3、检查sqlmap中where 条件中是否有xx='',改成xx is null
4、检查sqlmap中是否有isnull()函数改成nvl()函数
5、检查sqlmap中是否有top,有的话用rownum改造
6、检查sqlmap中是否有substring,如果有用substr替换。
7、检查sqlmap中是否使用+做连接符号,如果有用||替换
8、移植时,字段类型sqlserver中text对应oracle的clob,sqlserver中的image类型对应oracle的blob
java程序处理text或clob类型类似如下
Object extGroupObj = ((HashMap)list.get(i)).get("extDefcode");
extGrpStr = extGroupObj.toString();
if(extGroupObj instanceof oracle.sql.CLOB){
try{
Reader reader=((oracle.sql.CLOB)clobData).getCharacterStream();
BufferedReader br=new BufferedReader(reader,8192);
char[] cbuf= new char[8192];
int j=0;
StringBuffer bf = new StringBuffer();
while((j=br.read(cbuf))!=-1)
{
bf.append(cbuf,0,j);
}
retStr=bf.toString();
}catch(Exception ex){
//logger.error("读取clob数据发生异常",ex);
}
}
如果是image或blob,类似如下处理
Object byteTmp= info.get("ruleGroupCert");
byte[] byteCode = null;
if(byteTmp instanceof oracle.sql.BLOB ){
byte[] byteCode = null;
InputStream in =null;
try{
oracle.sql.BLOB blobtmp = (oracle.sql.BLOB) byteTmp;
in = blobtmp.getBinaryStream();
int bsize = blobtmp.getBufferSize();
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] bufbyte = new byte[bsize];
//in.read(byteCode);
int len = 0;
while ((len = in.read(bufbyte)) != -1) {
os.write(bufbyte, 0, len);
}
byteCode=os.toByteArray();
}catch(Exception ex){
logger.error("读取属性证书blob字段出错",ex);
}finally{
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}else{
byteCode= (byte[])byteTmp;
}
分享到:
相关推荐
在IT行业中,数据库迁移是一项...综上所述,SQL Server迁移到Oracle的过程涵盖了数据库架构的转换、数据的迁移、以及后续的测试和优化。这个过程需要对两种数据库系统有深入理解,以及熟练掌握相关的迁移工具和技术。
有时,由于各种原因,我们需要将数据从一种数据库系统迁移到另一种,例如从SQL Server迁移到Oracle。这种数据迁移过程涉及多个步骤,需要对两种数据库系统都有深入的理解,并且需要处理一些特定的挑战,特别是在处理...
7. **注意事项**:转换过程中需要注意兼容性问题,如SQL Server特有的特性(如clr存储过程)在Oracle中可能不支持。此外,数据迁移不仅仅是结构的迁移,还需考虑数据的一致性和完整性,避免因迁移导致的数据丢失。 ...
在将SQL SERVER数据库迁移到ORACLE的过程中,涉及多个步骤和注意事项。以下是对这些步骤的详细说明: 1. **配置ORACLE客户端**: - 使用Net Configuration Assistant进行配置,这是一个图形化工具,帮助设置与...
### 图解SQL Server 2005迁移到Oracle:详细步骤与注意事项 #### 背景与需求 在IT行业中,随着业务的发展和技术的更新换代,企业常常面临数据库迁移的需求,以适应新的业务场景或者优化现有的技术架构。SQL Server...
### SQLServer2008数据导入到Oracle11g详解 #### 一、背景与目的 随着企业数据量的增长和业务需求的变化,不同数据库之间的数据迁移成为了一个常见的任务。SQL Server 和 Oracle 是两种广泛使用的数据库管理系统...
在"sqlserver——oracle工具"的标题中,我们关注的是在SQL Server和Oracle之间进行数据迁移的工具。常见的数据迁移工具有: 1. Oracle SQL Developer Data Pump:Oracle官方提供的免费工具,可以方便地导入导出数据...
在数据库迁移过程中,将SQL Server迁移到Oracle可能会遇到一些语法和功能上的差异,这需要对代码进行相应的调整。以下是一些关键的转换点和注意事项: 1. **NULL值处理**: - SQL Server中,空字符串`''`和NULL是...
本文将详细介绍如何利用SSIS将数据从SQL Server 2005迁移到Oracle 11g数据库的过程,该过程已经过实际测试验证。 #### 二、准备工作 在进行数据迁移之前,需要确保以下准备工作已经完成: 1. **安装环境**: - ...
### SQL Server 2005与Oracle数据库之间的数据迁移 #### 概述 在不同的数据库管理系统之间进行数据迁移是一项常见的需求,特别是在企业级应用中。本文将详细介绍如何在Oracle数据库和SQL Server 2005之间进行数据...
在IT行业中,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从SQL Server迁移到Oracle。这个过程涉及多个步骤和注意事项,确保数据的完整性和一致性。以下是对标题和描述中所述知识点的详细说明: ...
压缩包中的文件“SQLSERVER导入ORACLE数据库.pdf”很可能是详细的操作指南,它会涵盖上述步骤的具体实施细节。而“说明.txt”可能包含更具体的使用说明或注意事项。“教程阅读器下载.url”和“爱书吧 电子书 教程 让...
若需迁移Oracle XE中的HR schema(以下简称HR数据库),则需要通过“工具”菜单下的“项目设置”来启用对HR数据库的加载。 ##### 4.2 连接Oracle服务器 使用SSMA连接Oracle服务器时,需提供服务器名称、SID以及...
数据迁移在IT行业中是一项至关重要的任务,特别是在数据库管理中。Access、Oracle和SQL Server是三种广泛应用的关系型数据库管理系统,它们各自具有独特的特性和优势。在不同的业务场景下,可能需要将数据从一种...
在本文中,我们将详细介绍如何从 SQL SERVER 导入 ORACLE 数据库的步骤和注意事项。 首先,需要选择要导出的数据库,右键单击选择要导出的数据库,然后选择“导出”菜单项。在下一步骤中,需要选择目的数据库管理...
标题与描述均指向了一个具体的技术操作过程:“SQLSERVER导入ORACLE数据库”。这涉及到跨数据库系统的数据迁移,是一项在企业级数据库管理中常见的需求,尤其是在不同的技术栈或业务整合时。以下将深入解析这一过程...
在某些情况下,由于业务需求变化或技术更新,可能需要将数据从 `Sql Server` 迁移到 `Oracle`。针对这种情况,"Sql Server数据库转Oracle数据库工具" 提供了解决方案。 1. 数据迁移的基本概念:数据迁移是指将数据...
#### 六、注意事项 - **数据类型匹配**:在迁移过程中特别注意数据类型的一致性问题,例如日期格式、数字精度等。 - **大对象处理**:对于较大的BLOB/CLOB字段,需要注意特殊处理,确保数据不会丢失或损坏。 - **...