一、分表结构及表数据两次导出。一次导出去转换之后导入oracle中比较麻烦,所以我们一般在mysql导出时将导出分成个结构及个数据两次导出。导出之后将个结构语句修改,具体修改如下:
二、对表的修改:
0、去掉`,`这个是mysql的特殊标示符,转换前要去掉
1、将所有的text替换成varchar2(4000)。有些转换工具将text是转换成blob或clob,我觉得那样不好,一般还是转换成varchar2(2000)或varchar2(4000)比较好。虽然采用spring或oracle10g可以clob当作string去处理,但是我觉得一般情况下还是转换成varchar2比较好,如果字段内容确实需要更长(varchar2最长是4000),在这种情况下采用clob就比较好了。
2、将所有的varchar替换成 varchar2 。
3、将tinyint(1)替换成number(1)。
4、将int(4)替换成number(4)。
5、去掉auto_increment选择项。oracle中没有自增属性,所以要去掉。
6、将NOT NULL default ''替换成default '' NOT NULL。关键是这两个的顺序不能错,也不知道为什么,实际中总结出来的。
7、将ON DELETE CASCADE ON UPDATE CASCADE替换成ON DELETE CASCADE ON UPDATE CASCADE。
8、将外键前的KEY cq_formid (cq_formid)去掉。
9、将CONSTRAINT 0_99 FOREIGN改成CONSTRAINT fk_99 FOREIGN。
10、将mediumblob转换成blob。
11、将所有非主键的not null去掉。
12、将外键全部移到最后(在数据导完之后再执行)。
三、对数据修改:
0、去掉`,`这个是mysql的特殊标示符,转换前要去掉,在做个结构转换时也要去掉。
1、\'替换成''。\为mysql的转义字符,而oracle的转义字符为单引号。
2、 替换成 。这种是在执行sql插入语句一些特殊字符被oracle当做参数,这种我还没有找到好的处理方法,一般就还是输入相应的字符吧。有谁知道更好的处理方法可以告诉我一下。
3、,'',替换成,''''。这也是需要转义引起的。
在程序处理中mysql与oracle数据库还有些具体的不同,具体的不同情况如下:
mysql与oracle的不同:
1、mysql自动增量。oracle中没有自动增量,一般采用序列去实现类似功能,但是需根在程序中特殊处理(采用hibernate时不需要特殊处理)。
2、limit。在mysql中一般采用limit去实现分页功能,而oracle中一般采用rownum去实现分页。
3、date。两种数据库对date的处理也不一样,mysql中更加灵活吧。
4、LEFT函数。oracle中没有相同的函数,我一般自定义一个left函数去实现mysql相同的功能,那样就不用去修改程序了。
oracle中增加:
create or replace function LEFT(String1 in varchar2, pos in integer)
return varchar2 is
begin
return(substr(String1, 0, pos));
end LEFT;
/
5、空与空串。mysql中空与空串是两个不同的东西,而在oracle中将null与空串做了同样的处理,这也是在程序中需要注意的于方。
6、rs.isLast()。当数据库为mysql在Connection.prepareStatement(str1);可用,而在oracle中必须Connection.prepareStatement(str1,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)才能使用rs.isLast(),一般两种情况都采用后面的就可以了吧。
7、在oracle中update fieldsdisplaymode f set f.fdm_displaycontent=Translate(f.fdm_displaycontent,'\'','''' );这是将insert语句中的\'全部替换成'',还是一种语义的转换。
8、sysdate。在mysql中采用sysate()而在oracle中采用的是sysdate,两个稍有不同,也可以在oracle中定义函数去处理。
分享到:
相关推荐
在实际项目中,我们经常会遇到从 MySQL 转换到 Oracle 数据库的情况。这两种数据库有很多具体的应用不同,导致我们需要手动转换数据库结构和数据。本文将详细介绍从 MySQL 转换到 Oracle 数据库的步骤和注意事项。 ...
### MySQL到Oracle数据库转换的关键知识点 #### 一、MySQL到Oracle数据库转换的总体流程 **1. 分表结构及表数据两次导出** - **原因**:由于MySQL与Oracle数据库之间的语法差异较大,一次性导出后直接进行转换...
MySQL和Oracle都是业界广泛应用的数据库系统,但有时由于业务发展或技术升级,可能需要将数据从MySQL转换到Oracle。本文将深入探讨如何实现这一过程,并提供相关工具及策略。 首先,我们需要了解MySQL和Oracle之间...
Oracle到MySQL转换工具是一种专门设计用于帮助用户将Oracle数据库中的数据和结构迁移至MySQL数据库的应用程序。这个过程通常称为数据库迁移或数据迁移,是企业在更换数据库系统时常常面临的需求。以下是一些关于...
(5)PowerDesigner将自动转换Oracle数据库表结构为Mysql数据库表结构。 (6)最后,导出转换后的sql文件,可以直接在Navicat中执行sql导入。 四、转换注意事项 在转换过程中,需要注意以下几点: (1)表结构的...
MySQL到Oracle数据库转换工具是一种专门用于将数据从MySQL数据库系统迁移至Oracle数据库系统的软件解决方案。在数据库管理系统领域,这样的工具非常关键,因为不同的DBMS(数据库管理系统)可能有着不同的数据结构、...
### 把MySQL数据库中的数据导入到Oracle数据库中的详细步骤与注意事项 #### 一、环境配置与需求概述 本文档旨在详细介绍如何将MySQL数据库中的数据迁移到Oracle数据库中,包括具体的环境配置、迁移流程以及可能...
2. **数据迁移**:除了转换SQL,工具可能还支持数据的迁移,将Oracle数据库中的表数据导入到MySQL数据库中。 3. **对象转换**:包括表、索引、视图、存储过程、函数等数据库对象的转换。 4. **权限与用户管理**:...
【MySQL集群到Oracle数据库的数据同步方法】 随着开源技术的迅速发展,开源数据库在众多业务场景中逐渐替代了商业数据库,其中MySQL数据库对于Oracle数据库的替换尤为显著。在逐步替换的过程中,常常会出现MySQL...
Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地将Mysql数据库导入为ORACLE数据库。 Convert Mysql to Oracle 功能特点 可以转换所有的Mysql字段类型 支持所有版本的Mysql 可以将数据合并到...
虽然是demo版本,但可以转换一些字段不是很长的数据库表。 MySQL Migration Toolkit v2.3 数据库转换工具 ...MySQL-to-Oracle MySQL数据库转Oracle数据库 Oracle-to-MySQL Oracle数据库转MySQL数据库 数据库表转换工具
这个工具专注于将MySQL的数据库结构和数据转换为Oracle数据库兼容的格式。下面将详细解释这个过程涉及的知识点。 1. **SQL语言的差异**: MySQL和Oracle都是SQL数据库管理系统,但它们对SQL语法的实现有所不同。...
MySQL到Oracle的数据迁移是一项常见的任务,特别是在企业级应用中,可能因为各种原因需要从MySQL迁移到功能更强大的Oracle数据库系统。下面将详细讲解这个过程涉及的关键知识点。 首先,我们需要了解MySQL和Oracle...
MySQL到Oracle数据库转换工具是一种专门用于将MySQL数据库的数据和结构迁移至Oracle数据库的应用程序。这个过程通常涉及到数据的导出、格式转换以及导入,确保在两个不同数据库系统间的数据一致性。以下是对这一转换...
标题中的“mysql和oracle数据库之间的转换工具”指的是能够帮助用户将MySQL数据库的数据高效、准确地迁移到Oracle数据库的软件。这样的工具通常提供图形化界面,使得操作更为直观,无需深入理解底层的SQL语法和数据...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从MySQL迁移到Oracle。本文将详细讲解如何使用Oracle...通过遵循这些指南,可以有效地将MySQL数据库转换为Oracle数据库,实现数据的无缝转移。