今天做了一个用java导入sql脚本的功能,前台上传一个sql文件,后台先保存本地,然后进行导入。主要代码如下:
String cmd = "cmd /c sqlplus usr/pwd@{//服务器IP:1521/}sid @d:\\1.sql>d:\\t.log"; Process p = null; try { p = Runtime.getRuntime().exec(cmd); } catch (IOException e) { e.printStackTrace(); } finally { if (p != null) { try { p.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } p.destroy(); } }
注:1.sql文件中必须要有/
2.如果没有在sql最后一行加入exit则,执行完后,process实例仍然出于等待中,具体可以自行尝试cmd中执行。如需sql执行完程序关闭则最后一行加入exit。
3.上面的服务器IP和端口号是可选的,如果你已经配置了Net manager,则直接引用配置的sid就行了。
本文出自 “菜鸟学习” 博客,请务必保留此出处http://biyusheng.blog.51cto.com/2626140/1438073
原文:http://biyusheng.blog.51cto.com/2626140/1438073