java代码实现oracle sql语句转mysql sql语句

来源:互联网 发布:php exec 127 编辑:程序博客网 时间:2024/05/29 15:53
package com;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.regex.Pattern;/** * @author Administrator * oracle sql语句转mysql sql语句 */public class OracleToMysqlInsert {public void doChange(String filePath) {try {File file = new File(filePath);FileReader rd = new FileReader(file);//BufferedReader br = new BufferedReader(rd);InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");BufferedReader br = new BufferedReader(isr);File outFile = new File(filePath.substring(0,filePath.lastIndexOf(File.separator) + 1)+ "I"+ filePath.substring(filePath.lastIndexOf(File.separator) + 1));//FileWriter b = new FileWriter(outFile, false);FileOutputStream writerStream = new FileOutputStream(outFile, false);BufferedWriter b = new BufferedWriter(new OutputStreamWriter(writerStream, "UTF-8"));String rowStr;int i = 0;while (!(rowStr = br.readLine()).equals("##")) {while (rowStr.indexOf("to_date('") > 0) {String rowTemp = rowStr.substring(rowStr.indexOf("to_date('"));String aimStr = rowTemp.substring(rowTemp.indexOf("('") + 1, rowTemp.indexOf(","));String dateTemp = null;if (aimStr.indexOf(" ") > 0) {dateTemp = aimStr.substring(aimStr.indexOf("'") + 1,aimStr.indexOf(" "));} else {dateTemp = aimStr.substring(aimStr.indexOf("'") + 1,aimStr.lastIndexOf("'"));}String[] strTemp = dateTemp.split("-");String dateStr = strTemp[2] + "-" + strTemp[1] + "-"+ strTemp[0];aimStr = aimStr.replaceFirst(dateTemp, dateStr);String resStr = rowTemp.substring(0,rowTemp.indexOf(")") + 1);rowStr = rowStr.replace(resStr.subSequence(0, resStr.length()), aimStr.subSequence(0, aimStr.length()));}b.write(rowStr);System.out.println(rowStr);b.write("\r\n");}b.flush();// rename to the original Filefile.delete();b.close();rd.close();} catch (FileNotFoundException e) {//System.out.println("�ļ�δ�ҵ���");e.printStackTrace();} catch (IOException e) {//System.out.println("IO�쳣���޷�д�ļ���");e.printStackTrace();}}public static void main(String arg[]) {OracleToMysqlInsert changtext = new OracleToMysqlInsert();changtext.doChange("C:\\Users\\Administrator\\Desktop\\sys_i18n_message.sql");System.out.println("OK");//changtext.doChange("D:\\import\\" + "supplier.sql");//changtext.doChange("D:\\import\\" + "supplierDetail.sql");//changtext.doChange("D:\\importData\\" + "codetype.sql");//changtext.doChange("D:\\importData\\" + "codedict.sql");//changtext.doChange("D:\\importData\\" + "port.sql");//changtext.doChange("D:\\importData\\" + "country.sql");//changtext.doChange("C:\\" + "PODETAIL.sql");}}

原创粉丝点击