求一句 java中调用 sqlplus执行sql脚本 的语句格式!感激不尽!
解决方案 »
- ORACLE如何跟踪应用程序的SQL语句
- 想问下关于Oracle的客户端的本地服务名设置?
- 初学问题,oracle中导出表和导出用户和导出表空间有什么区别啊
- Mysql内置函数对应Oracle的内置函数
- ORACLE在一个SQL怎么对一个字段升序同时对另一个字段降序排序呢?
- between and的小問題
- oracle srvctl 查询状态
- 请帮忙看看:在Win2k专业版第一次安装Oracle 8.1.7.0.0启动HTTPServer报错
- 怎么样用exp备份数据时形成的文件名是动态的?例如我每天用exp自动备份一次,使其文件名每天不同,比如加上当天的日期等
- 如何在sql语句中分离对象的结果?
- [在线求助]通过PLSQL_ODBC导入器导入excel某日期列sysdate,报错??
- 压缩表添加新列?
路径是正确的!
Runtime.getRuntime().exec("sqlplus username/pwd@tnsname @你的sql的脚本文件") 需要sqlplus环境,和正确的tnsname配置,如果是远程的话,这里基本和命令行的方式一样了。还有通过纯的java方式的
可以使用dbutils的工具包,这是apache提供的一个java包。
里面可以通过api的方式直接执行脚本,还可以从execl文件导入数据,等高级功能。
(Inthirties) 可以说清楚一点吗?什么配置?我是按你那样写的可是程序直接挂起不跑了!
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("----------------");
while ((line = br.readLine()) != null){
System.out.println(br.readLine());
}
System.out.println("到这里了!");
System.out.println("到这里了!");就没有执行了
Runtime rt=Runtime.getRuntime(); rt.exec(cmd);
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null; System.out.println("----------------");
while ((line = br.readLine()) != null){
System.out.println(br.readLine());
}
System.out.println("到这里了!");
程序到这里:System.out.println("到这里了!");的前面就挂起了,进程被锁,请问有什么方法解决??
//cmd= "cmd.exe /c "+"start d:\\sql\\database.sql";
System.out.println("cmd="+cmd);
Process proc = rt.exec(cmd);
StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(),"Error");
StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(),"Output");
errorGobbler.start();
outputGobbler.start();System.out.println("----------------");
exitVal = proc.waitFor();
System.out.println(exitVal+"到这里你就成功了!");执行到这里还被挂起:proc.waitFor();