Runtime.getRuntime()。exec - 执行osql查询

时间:2010-11-22 14:37:24

标签: java runtime.exec

我正在尝试从Java程序执行osql命令以恢复数据库,如下所示。

public void restore(){

Runtime.getRuntime().exec("cmd /c start osql -S PC-NAME -U username -P password -i createdb.sql
}

当我调用方法恢复时,命令提示符被打开,osql被执行,然后命令提示符变得不可见。

如果有办法阻止命令提示关闭,请告诉我吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

将命令osql ...写入bat文件,将pause作为该bat文件的最后一行并从代码中运行该bat。

答案 1 :(得分:0)

public static void main(String[] args) throws Exception {
    Runtime.getRuntime().exec("cmd /c start dir");
}

并且这不会关闭生成的命令行。

从此链接http://ss64.com/nt/cmd.html

Options   
   /C     Carries out My_Command and then terminates 
   /K     Carries out My_Command but remains

你可以试试/ K而不是/ C,让我们知道结果是什么吗?

在从Java中尝试之前,您应首先从批处理文件中尝试此操作。