从MYSQL到oracle的迁移以及备份(6)

来源:未知 责任编辑:责任编辑 发表时间:2014-03-23 22:31 点击:

       return sb.toString();
    }
 
}
这是通用方法,以后需要得到MYSQL的两个初始化脚本就通过这个方法已转换就可以。
二、Oracle建表的问题没有通过这个解决,可以通过Hibernate逆向生成。建表和表结构,表关系,都有了。
下面就是插入数据了:
关于MYSQL的insert脚本基本上和Oracle的一致,但是也有不一致,对于日期,对于一些符号’都是问题。将MYSQL的insert语句转换成ORACLE的insert语句。
1、需要将’去掉,这个符号是在插入数据时的表名上括起来的,所以,将表名上的’都替换掉。
2、需要将date日期,经过函数to_date(date,”yyyy-MM-dd”)转换一下,所以我通过正则表达式来查找到所有的日期,还有一种日期,携带时分秒的日期,需要另一个正则,最后当然都是替换成为年月日就可以了。
package com.sql.convert;
 
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class FromMYSQLInsertToOracleInsert {
    /**
     * 需要转换一下地方:
     * 将所有的表名以及列名中的'去掉
     * @param args
     * @throws IOException
     */
   
    public static void main(String[] args) throws IOException {
       String mysql_file="C:/Documents and Settings/gaofei/桌面/insertData.sql";
        String oracle_file="C:/Documents and Settings/gaofei/桌面/oracle_insertData.sql";
      
       turnSQL(mysql_file, oracle_file);
      
    }
    private static void turnSQL(String mysql_file,String oracle_file) throws IOException{
       File mysqlFile=new File(mysql_file);
       File oracleFile=new File(oracle_file);
       if(!oracleFile.exists())
           oracleFile.createNewFile();
       InputStreamReader isr=new InputStreamReader(new FileInputStream(mysqlFile), "UTF-8");
       OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(oracleFile), "UTF-8");
      
       BufferedReader br=new BufferedReader(isr);
       BufferedWriter bw=new BufferedWriter(osw);
      
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • mysql-mmm
  • mysqldump命令——MySQL数据库备份还原
  • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
  • 简简单单储存过程——循环一个select结果集
  • MySQL数据库十大优化技巧
  • Mysql安装笔记
  • Mysql主主复制架构配置
  • Mysql的Procedure 参数为NULL问题分析
  • MySQL Stmt预处理提高效率问题的小研究
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1