oracle如何使用java source调用外部程序
2023-06-13 09:20:04 时间
需求
Oracle调用第三方外部程序。Oracle使用sqluldr2快速导出大批量数据,然后用winrar压缩后发送邮件。
源码
java source
create or replace and compile java source named jv_run_extpro as import java.io.*; import java.lang.*; import java.util.*; import java.sql.*; import oracle.sql.*; publicclass jv_run_extpro publicstaticvoid run(String cmd) throws IOException Process p=Runtime.getRuntime().exec(cmd); StreamGobbler errorGobbler = new StreamGobbler(p.getErrorStream(), "Error"); StreamGobbler outputGobbler = new StreamGobbler(p.getInputStream(), "Output"); errorGobbler.start(); outputGobbler.start(); p.waitFor(); catch(InterruptedException ie) System.out.println(ie); publicstaticclass StreamGobbler extends Thread { InputStream is; String type;
InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { if (type.equals("Error")) { System.out.println("Error :" + line); } else { System.out.println("Debug:" + line); } catch (IOException ioe) { ioe.printStackTrace();存储过程
create or replace procedure pro_jv_run_extpro(p_cmd varchar2) as
language java name jv_run_extpro.run(java.lang.String)
调用
begin pro_jv_run_extpro("sqluldr264.exe scott/hh@pdborcl query="select * from emp" field=, head=yes file=D:\Desktop\tmp\sqluldr2\OUT2.TXT"); pro_jv_run_extpro(""D:\Program Files\WinRAR\Rar.exe" a -ep -df "D:\Desktop\tmp\sqluldr2\20160916.rar" "D:\Desktop\tmp\sqluldr2\OUT2.TXT""); end;总结
Java source里StreamGobbler这个类不能少,用于异步读取命令的输出。
本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 oracle如何使用java source调用外部程序
相关文章
- 【说站】java多线程应用场景
- 深入理解 Oracle 数据库存储方式(oracle存储方式)
- Oracle 备份与恢复:保护数据安全(oracle备份和恢复)
- Oracle程序异常终止:深入排查(oracle程序异常终止)
- Oracle 包调用:可有效提升程序效率(oracle包调用)
- Oracle启动程序:一步步攻克技术难题(oracle启动程序)
- 使用Oracle代替触发器,高效管理数据变更(oracle替代触发器)
- Java与Oracle的连接方式(java连oracle)
- Oracle 卸载程序:快速指南(oracle的卸载步骤)
- Oracle数据库的六大约束条件(oracle六种约束)
- Oracle生成安全八位随机数(oracle 八位随机数)
- Oracle数据库完整热备份解决方案(oracle全库热备份)
- Java模拟Oracle实现稳定数据库性能(java模仿oracle)
- Oracle发布着眼于更新主流版本(oracle 主要版本)
- Oracle中运行的监听程序及其作用(oracle中监听程序)
- Oracle中编写程序抽取数据的实践(oracle中写程序抽数)
- Oracle数据库中运行Java程序的简易指南(oracle中写java)
- Oracle数据库在不同环境中的表格导入工具研究(oracle不同环境导表)
- Oracle BI 令智能分析变得更简单(oracle bi 使用)