0

我必须从 java 打开 cmd.exe,然后在同一个窗口中打开 sqlplus.exe,但我不能。我能做的是打开 cmd 但我无法使用它,对于 sqlplus.exe,它似乎打开了一个不同的 cmd.exe 实例,我可以在 netbeans java 终端中看到来自 sqlplus 的欢迎消息,但无法制作查询。

这是我正在使用的代码

public void construirJob(String nombre,Fecha fecha,String direccionSQL){
    try {
         command[0] = "cmd";
         command[1] = "/c";
         command[2] = "start cmd.exe && cd C:/oraclexe/app/oracle/product/11.2.0/server/bin && dir && sqlplus.exe"
           + " && @"+direccionSQL+" && connect /as sysdba; && select * from v$tablespace;";
        JobDetail job = JobBuilder.newJob(HelloJob.class)
                .withIdentity(nombre+"JOB", "group1").build();

        String schedule=fecha.segundos+" "+fecha.minutos+" "+fecha.hora+" "+"*"+" "+"*"+" "+fecha.dia;
        Trigger trigger = TriggerBuilder
                .newTrigger()
                .withIdentity(nombre+"trigger", "group1")
                .withSchedule(
                        //CronScheduleBuilder.cronSchedule("0/10 * * * * ?"))
                        CronScheduleBuilder.cronSchedule(schedule))
                .build();

        //schedule it
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);
    } catch (SchedulerException ex) {
        Logger.getLogger(CronTriggerExample.class.getName()).log(Level.SEVERE, null, ex);
    }
}
4

1 回答 1

0

我会看看 apache commons exec库。 http://commons.apache.org/proper/commons-exec/

还有关于如何使用这个库的教程: http ://commons.apache.org/proper/commons-exec/tutorial.html

于 2013-11-11T16:14:57.460 回答