2010-11-22 79 views
2

我试图从Java程序执行osql命令来恢复数据库,如下所示。Runtime.getRuntime()。exec - 执行osql查询

public void restore(){ 

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

当我调用方法进行还原,所述命令提示被打开,OSQL被执行,然后命令提示变得不可见。

请问我是否有办法阻止命令提示符关闭?

感谢您的帮助

回答

1

写你的命令osql ...成bat文件,把pause为bat文件的最后一行,并从你的代码运行的蝙蝠。

+0

非常感谢您的快速回复。它适用于批处理文件。当我们直接从Java代码执行时,不可能保留命令提示符吗? – NewBie 2010-11-22 14:45:20

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尝试它。

相关问题