我必须从 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);
}
}