首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

java程序调用bat资料,执行oracel数据库备份

2012-08-30 
java程序调用bat文件,执行oracel数据库备份import java.io.BufferedReaderimport java.io.IOExceptionim

java程序调用bat文件,执行oracel数据库备份

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;/** * java程序调用bat文件,执行oracel数据库备份 * @author PanHongBin */public class ExpOracleData {/** * @param args */public static void main( String[] args ){ExpOracleData expOracleData = new ExpOracleData( );expOracleData.run( );}public void run( ){try{String cmd = "cmd.exe /c G:/dmp/expOracleData.bat";Process process = Runtime.getRuntime( ).exec( cmd );ThreadInputStream inputStream = new ThreadInputStream( process );ThreadErrorStream errorStream = new ThreadErrorStream( process );inputStream.start( );errorStream.start( );if ( process.waitFor( ) == 0 ){System.out.println( "结束" );}else{System.out.println( "正在导出*****" );}if ( process.exitValue( ) == 0 ){System.out.println( "数据备份成功。" );System.out.println( "添加数据备份信息到数据表" );// save();}else{System.out.println( "数据备份失败!" );}}catch ( Exception e ){e.printStackTrace( );}System.out.println( "退出" );}}class ThreadInputStream extends Thread {Process process = null;public ThreadInputStream( Process process ){this.process = process;}public void run( ){InputStream inputStream = process.getInputStream( );BufferedReader bufferedReader = new BufferedReader( new InputStreamReader( inputStream ) );try{String line = null;while ( ( line = bufferedReader.readLine( ) ) != null ){if ( line != null ){System.out.println( line );if ( line.indexOf( "exp" ) != -1 ){System.out.println( "执行数据备份命令" );break;}}}System.out.println( "输入结束^^^^^^" );}catch ( IOException e ){e.printStackTrace( );}}}class ThreadErrorStream extends Thread {Process process = null;public ThreadErrorStream( Process process ){this.process = process;}public void run( ){InputStream errorStream = process.getErrorStream( );BufferedReader bufferedReader = new BufferedReader( new InputStreamReader( errorStream ) );try{String line = null;while ( ( line = bufferedReader.readLine( ) ) != null ){if ( line != null ){System.out.println( line );if ( line.indexOf( "成功终止导出" ) != -1 ){System.out.println( "成功终止导出-------" );}if ( line.indexOf( "ORA-01017" ) != -1 ){System.out.println( "用户名 / 密码 错误 ORA-01017-------" );process.destroy( );break;}if ( line.indexOf( "EXP-00028" ) != -1 ){System.out.println( "文件路径不对:EXP-00028-------" );process.destroy( );break;}}}System.out.println( "输出结束 ^^^^^^" );}catch ( IOException e ){e.printStackTrace( );}}}

?

热点排行