关于Runtime的问题,快来看看 用另一个API试试,把sqlplus所在的目录写在第三个参数上。exec(String command, String[] envp, File dir) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也遇到类似的问题,但我是重启一个进程。我想之所以这样我想是因为一:你要在sqlplus 后加上用户名和密码; 二:指出sqlplus可执行程序的具体路径;三:加上运行这个名令的shell文件。以上只能做为参考,因为到现在为止,我的问题还没有解决!如果要带参数应该怎么加???关注!!!!! 我写完完整的路径还是不行Runtime.getRuntime().exec("F:\\oracle\\ora81\\bin\\sqlplus.exe");这条语句出现的结果一样,运行时没有错误,只是运行的时候弹出黑框后就立刻消失了,sqlplus却不能启动。 运行其他程序有问题么?BufferedReader prcout = new BufferedReader( new InputStreamReader( new BufferedInputStream(prc.getInputStream()))); while ((line = prcout.readLine()) != null){ System.out.println(line);}把执行以后的信息打出来看看?要不然用sqlplusw.exe好了,合乎俄。 我刚刚试了,不管有没有使用完整路径,都可以正常启动sqlplus阿。 可是我现在想执行一条exp语句,Runtime.getRuntime().exec("exp user/password file=filename");为什么这样不能执行? 执行Runtime.getRuntime().exec("sqlplus")不行执行Runtime.getRuntime().exec("sqlplusw")就可以,是不是java不支持dos命令? Java支持DOS命令,但要加上cmd /c 例如:Runtime.getRuntime().exec("cmd /c dir");就可运行! Runtime.getRuntime().exec("****") 这里的**** 应该是可执行程序 xxxx.exe (对应于oracle\..\bin\sqlplusw.exe) 我在JBuilder6,0中用Runtime.getRuntime().exec("cmd /c dir");还是不能执行,我想让程序自动执行exp来进行备份,所以想用Runtime.getRuntime().exec("exp user/password file=filename");来执行。如果将语句写成.bat文件,用Runtime.getRuntime().exec("D:\\backup.bat");还是不能执行。 exec(String command, String[] envp, File dir) 试着把sqlplus的工作目录和环境变量传进去看看行不? 凡是你在命令行可以正确执行的命令(cmd),你用Runtime.getRuntime().exec(cmd)就可以启动,当然要用'/'代替'\';如果你在命令行中能使用参数,那用Runtime就也可以。行不行,你自己先在Windows的模拟dos窗口执行看看嘛。不行的话,那就根本不管Runtime的事。 Process p = Runtime.getRuntime().exec("cmd.exe /c F:\\oracle\\ora81\\bin\\sqlplus.exe");p.waitFor(); 求一个画图软件 晕死,Date获取的系统时间和真实时间为什么会相差8小时 请大家看一段代码~ 如何实现像FTP一样的下载任务和百分比的时时更新 我自问已经不是新手,但居然还碰到这样奇怪的问题,快疯了。 怎样在Applet上使用JavaHelp?500分求!!! 谁知道这是什么问题? 一个关于server socket factory的问题 求教拉 求大神指导 哪里能看到jvm源代码?那是用汇编写的吗? “不合法的转义字符”的错误!
我想之所以这样我想是因为一:你要在sqlplus 后加上用户名和密码; 二:指出sqlplus可执行程序的具体路径;三:加上运行这个名令的shell文件。以上只能做为参考,因为到现在为止,我的问题还没有解决!
如果要带参数应该怎么加???
关注!!!!!
Runtime.getRuntime().exec("F:\\oracle\\ora81\\bin\\sqlplus.exe");
这条语句出现的结果一样,运行时没有错误,只是运行的时候弹出黑框后就立刻消失了,sqlplus却不能启动。
BufferedReader prcout = new BufferedReader(
new InputStreamReader(
new BufferedInputStream(prc.getInputStream()))); while ((line = prcout.readLine()) != null){
System.out.println(line);
}
把执行以后的信息打出来看看?要不然用sqlplusw.exe好了,合乎俄。
Runtime.getRuntime().exec("exp user/password file=filename");
为什么这样不能执行?
执行Runtime.getRuntime().exec("sqlplusw")就可以,是不是java不支持dos命令?
例如:Runtime.getRuntime().exec("cmd /c dir");就可运行!
xxxx.exe (对应于oracle\..\bin\sqlplusw.exe)
如果将语句写成.bat文件,用Runtime.getRuntime().exec("D:\\backup.bat");还是不能执行。
试着把sqlplus的工作目录和环境变量传进去看看行不?
行不行,你自己先在Windows的模拟dos窗口执行看看嘛。不行的话,那就根本不管Runtime的事。
p.waitFor();