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();
}
--或者直接
Runtime runtime=Runtime.getRuntime();Process process=null;try{
process=runtime.exec("cmd /c exp temp/temp@59.225.200.70:1521/wjwdb file=d:/temp.dmp tables=(jccz_yswt_zb)");} 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();
}
}
}