设为首页 加入收藏

TOP

从MYSQL到oracle的迁移以及备份(二)
2014-11-24 08:21:46 来源: 作者: 【 】 浏览:4
Tags:MYSQL oracle 迁移 以及 备份
lData=new HashMap();
String line=null;
int num=17;
while((line=br.readLine())!=null){
String lowerLine=line.toLowerCase();
if(lowerLine.startsWith("insert")){ //在该语句下用来判断插入数据的先后顺序
if(lowerLine.indexOf("`sequenceblock`")!=-1){
allData.put(1, line);
}else if(lowerLine.indexOf("`operationlogtype`")!=-1){
allData.put(2, line);
}else if(lowerLine.indexOf("`website`")!=-1){
allData.put(3, line);
}else if(lowerLine.indexOf("`fucdefine`")!=-1){
allData.put(4, line);
}else if(lowerLine.indexOf("`role`")!=-1){
allData.put(5, line);
}else if(lowerLine.indexOf("`department`")!=-1){
allData.put(6, line);
}else if(lowerLine.indexOf("`cmsuser`")!=-1){
allData.put(7, line);
}else if(lowerLine.indexOf("`account`")!=-1){
allData.put(8, line);
}else if(lowerLine.indexOf("`accountrole`")!=-1){
allData.put(9, line);
}else if(lowerLine.indexOf("`flowdefine`")!=-1){
allData.put(10, line);
}else if(lowerLine.indexOf("`flowtask`")!=-1){
allData.put(11, line);
}else if(lowerLine.indexOf("`rolefucperm`")!=-1){
allData.put(12, line);
}else if(lowerLine.indexOf("`templategroup`")!=-1){
allData.put(13, line);
}else if(lowerLine.indexOf("`templatetype`")!=-1){
allData.put(14, line);
}else if(lowerLine.indexOf("`template`")!=-1){
allData.put(15, line);
}else if(lowerLine.indexOf("`contenttype`")!=-1){
allData.put(16, line);
}else{
allData.put(num++, line);
}
}else{
bw_create.append(line+"\r\n");
}
}
for (int i = 1; i < num; i++) {
if(allData.containsKey(i)){
bw_insert.append(full_to_part(allData.get(i)));
}
}

bw_create.flush();
bw_insert.flush();
br.close();
bw_create.close();
bw_insert.close();
}
// private static void setSequence(){
//
// }

/**
* 将一行批量插入的数据转换为多行插入
* @param line
* @return
*/
private static String full_to_part(String line){
StringBuffer sb=new StringBuffer();
String lowerLine=line.toLowerCase();
int firstDan=lowerLine.indexOf("`");
int firstQuot=lowerLine.indexOf("(");
String tableName=lowerLine.substring(firstDan, firstQuot);
System.out.println("--------------------------开始转换插入----"+tableName+"---的数据----------");
int values_position=lowerLine.indexOf("values")+7;
String forward_line=line.substring(0, values_position);

String datas_line=line.substring(values_position,line.length()-1); //得到后面插入的数据
String[] datas=datas_line.split("\\)\\,\\(");//根据),(分割为一
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL迁移到MariaDB的步骤 下一篇MySQL 5.0迁移到MariaDB 10.0.2存..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)
·基于Python的数据分 (2025-12-27 07:50:03)
·深入理解 Java 集合 (2025-12-27 07:22:48)
·Java集合框架全面解 (2025-12-27 07:22:45)