`
橄榄绿
  • 浏览: 278346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从mysql转换到oracle数据库

阅读更多

一、分表结构及表数据两次导出。一次导出去转换之后导入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中定义函数去处理。

分享到:
评论
1 楼 ileson 2010-05-25  
现在的项目。就是数据库从mysql 转向oralce
操作数据库我用的是spring 中的hibernate
请问你有好的方法解决关键字没?

相关推荐

    从mysql转换到oracle数据库.docx

    在实际项目中,我们经常会遇到从 MySQL 转换到 Oracle 数据库的情况。这两种数据库有很多具体的应用不同,导致我们需要手动转换数据库结构和数据。本文将详细介绍从 MySQL 转换到 Oracle 数据库的步骤和注意事项。 ...

    mysql转换到oracle数据库

    ### MySQL到Oracle数据库转换的关键知识点 #### 一、MySQL到Oracle数据库转换的总体流程 **1. 分表结构及表数据两次导出** - **原因**:由于MySQL与Oracle数据库之间的语法差异较大,一次性导出后直接进行转换...

    mysql数据库转换成oracle

    MySQL和Oracle都是业界广泛应用的数据库系统,但有时由于业务发展或技术升级,可能需要将数据从MySQL转换到Oracle。本文将深入探讨如何实现这一过程,并提供相关工具及策略。 首先,我们需要了解MySQL和Oracle之间...

    OracleTOMysql 转换工具

    Oracle到MySQL转换工具是一种专门设计用于帮助用户将Oracle数据库中的数据和结构迁移至MySQL数据库的应用程序。这个过程通常称为数据库迁移或数据迁移,是企业在更换数据库系统时常常面临的需求。以下是一些关于...

    Oracle数据库表转换为Mysql

    (5)PowerDesigner将自动转换Oracle数据库表结构为Mysql数据库表结构。 (6)最后,导出转换后的sql文件,可以直接在Navicat中执行sql导入。 四、转换注意事项 在转换过程中,需要注意以下几点: (1)表结构的...

    mysql数据库转oracle数据库工具

    MySQL到Oracle数据库转换工具是一种专门用于将数据从MySQL数据库系统迁移至Oracle数据库系统的软件解决方案。在数据库管理系统领域,这样的工具非常关键,因为不同的DBMS(数据库管理系统)可能有着不同的数据结构、...

    把mysql数据库中的数据导入到oracle数据库中

    ### 把MySQL数据库中的数据导入到Oracle数据库中的详细步骤与注意事项 #### 一、环境配置与需求概述 本文档旨在详细介绍如何将MySQL数据库中的数据迁移到Oracle数据库中,包括具体的环境配置、迁移流程以及可能...

    Oracle数据库sql转换mysql数据库工具

    2. **数据迁移**:除了转换SQL,工具可能还支持数据的迁移,将Oracle数据库中的表数据导入到MySQL数据库中。 3. **对象转换**:包括表、索引、视图、存储过程、函数等数据库对象的转换。 4. **权限与用户管理**:...

    MySQL集群到Oracle数据库的数据同步方法.pdf

    【MySQL集群到Oracle数据库的数据同步方法】 随着开源技术的迅速发展,开源数据库在众多业务场景中逐渐替代了商业数据库,其中MySQL数据库对于Oracle数据库的替换尤为显著。在逐步替换的过程中,常常会出现MySQL...

    MySql转换成Oracle工具

    Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地将Mysql数据库导入为ORACLE数据库。 Convert Mysql to Oracle 功能特点 可以转换所有的Mysql字段类型 支持所有版本的Mysql 可以将数据合并到...

    MySQL Migration Toolkit 数据库转换工具

    虽然是demo版本,但可以转换一些字段不是很长的数据库表。 MySQL Migration Toolkit v2.3 数据库转换工具 ...MySQL-to-Oracle MySQL数据库转Oracle数据库 Oracle-to-MySQL Oracle数据库转MySQL数据库 数据库表转换工具

    Mysql转oracle工具

    这个工具专注于将MySQL的数据库结构和数据转换为Oracle数据库兼容的格式。下面将详细解释这个过程涉及的知识点。 1. **SQL语言的差异**: MySQL和Oracle都是SQL数据库管理系统,但它们对SQL语法的实现有所不同。...

    mysql 数据库转 oracle

    MySQL到Oracle的数据迁移是一项常见的任务,特别是在企业级应用中,可能因为各种原因需要从MySQL迁移到功能更强大的Oracle数据库系统。下面将详细讲解这个过程涉及的关键知识点。 首先,我们需要了解MySQL和Oracle...

    MySQL转成Oracle数据库工具

    MySQL到Oracle数据库转换工具是一种专门用于将MySQL数据库的数据和结构迁移至Oracle数据库的应用程序。这个过程通常涉及到数据的导出、格式转换以及导入,确保在两个不同数据库系统间的数据一致性。以下是对这一转换...

    mysql和oracle数据库之间的转换工具(支持各种类型数据库)

    标题中的“mysql和oracle数据库之间的转换工具”指的是能够帮助用户将MySQL数据库的数据高效、准确地迁移到Oracle数据库的软件。这样的工具通常提供图形化界面,使得操作更为直观,无需深入理解底层的SQL语法和数据...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...

    记使用Oracle SQL Developer 迁移MySql 数据至 Oracle.docx

    在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从MySQL迁移到Oracle。本文将详细讲解如何使用Oracle...通过遵循这些指南,可以有效地将MySQL数据库转换为Oracle数据库,实现数据的无缝转移。

Global site tag (gtag.js) - Google Analytics