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

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

       String line=null;
       while((line=br.readLine())!=null){
           bw.append(convertString(line));
           bw.append("\r\n");
       }
       bw.flush();
       br.close();
       bw.close();
       isr.close();
       osw.close();
    }
    private static String convertString(String line){
       line=line.replace("`", "");
       Pattern p=Pattern.compile("'\\d{4}\\-\\d+\\-\\d+'");
       Matcher m=p.matcher(line);
       String date=null;
       while(m.find()){
           date=m.group(0);
           line=line.replace(date, "to_date("+date+",'yyyy-MM-dd')");
       }
       p=Pattern.compile("'\\d{4}\\-\\d+\\-\\d+\\s\\d+\\:\\d+\\:\\d+'");
       m=p.matcher(line);
       date=null;
       while(m.find()){
           date=m.group(0);
           String newDate=date.substring(0,date.indexOf(" "));
           line=line.replace(date, "to_date("+newDate+"','yyyy-MM-dd')");
       }
       return line;
    }
}
 
三、看似没有问题了,直接执行脚本就没问题了,但是问题又来了:
         我是直接用控制开的sqlplus来访问Oracle的,没有工具,每次执行脚本,是通过@脚本名.sql来执行的,但是请注意如果是路径太长,比如@”C:/Documents and Settings/gaofei/桌面/oracle_insertData.sql”路径中间有空格需要加上””的,
执行报错。很多错:
1、关于数据中的 等这类的特殊,oracle会认为是plsql编程中自定义的变量,当然会出问题了,所以需要设置set define off,关掉自定义变量。
2、一个问题很少会有人用到,就是关于Oracle的插入数据,一个字段最多插入2999个字符。太多将会插入不进的。而我的数据都是模板或新闻,很多多是上万,所以问题来了。没有想到办法。最后我是将很多的数据删除的很短,插入成功后,通过程序一条条插入的。
 
迁移完成了 ,下面就是关于Oracle的备份问题了。www.2cto.com
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 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