package com.broada.oracle.export; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class JavaOracle { public static void main(String[] args) { //expFile(); impFile("COSS_R2_CHENXING_NSBD_0624"); } // 从oracle导出 public static void expFile() { String[] cmds = new String[3]; String commandBuf = "exp COSS_R2_CHENXING_NSBD_0605/coss@220 file=c://test.dmp log=c://test.log"; cmds[0] = "cmd"; cmds[1] = "/C"; cmds[2] = commandBuf.toString(); Process process = null; try { process = Runtime.getRuntime().exec(cmds); } catch (IOException e) { e.printStackTrace(); } boolean shouldClose = false; try { InputStreamReader isr = new InputStreamReader(process.getErrorStream()); BufferedReader br = new BufferedReader(isr); String line = null; //打印出读取的oracle导出信息 while ((line = br.readLine()) != null) { System.out.println(line); if (line.indexOf("????") != -1) { shouldClose = true; break; } } } catch (IOException ioe) { shouldClose = true; } if (shouldClose) process.destroy(); int exitVal; try { exitVal = process.waitFor(); System.out.print(exitVal); } catch (InterruptedException e) { e.printStackTrace(); } } // 导入oracle public static void impFile(String user) { String[] cmds = new String[3]; String commandBuf = "imp system/broada123@220 fromuser=COSS_R2_CHENXING_NSBD_0605 touser=" + user + " file=c://test.dmp ignore=y"; cmds[0] = "cmd"; cmds[1] = "/C"; cmds[2] = commandBuf.toString(); Process process = null; try { process = Runtime.getRuntime().exec(cmds); } catch (IOException e) { e.printStackTrace(); } boolean shouldClose = false; try { InputStreamReader isr = new InputStreamReader(process.getErrorStream()); BufferedReader br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); if (line.indexOf("????") != -1) { shouldClose = true; break; } } } catch (IOException ioe) { shouldClose = true; } if (shouldClose) process.destroy(); int exitVal; try { exitVal = process.waitFor(); System.out.print(exitVal); } catch (InterruptedException e) { e.printStackTrace(); } } }
?