oracle使用java source调用外部程序
-
资源ID:119337970
资源大小:36KB
全文页数:3页
- 资源格式: DOC
下载积分:2金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
oracle使用java source调用外部程序
ORACLE技术交流群(144243235)Oracle使用java source调用外部程序 需求 Oracle调用第三方外部程序。Oracle使用sqluldr2快速导出大批量数据,然后用winrar压缩后发送邮件。 本文档主要实现前两步需求,发送邮件程序这里不再说明。原码 授权begin dbms_java.grant_permission(SCOTT,SYS:java.io.FilePermission,<<ALL FILES>>,read,write,execute,delete); end;begin dbms_java.grant_permission(SCOTT,java.lang.RuntimePermission,*,writeFileDescriptor ); end;java source create or replace and compile java source named jv_run_extpro asimport java.io.*;import java.lang.*;import java.util.*;import java.sql.*;import oracle.sql.*;public class jv_run_extpro public static void 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(); try p.waitFor(); catch(InterruptedException ie) System.out.println(ie); public static class StreamGobbler extends Thread InputStream is; String type; public StreamGobbler(InputStream is, String type) this.is = is; this.type = type; public void run() try 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(); 说明:StreamGobbler这个类不能少,用于异步读取命令的输出。存储过程 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/hhpdborcl query="select * from emp" field=, head=yes file=D:Desktoptmpsqluldr2OUT2.TXT); pro_jv_run_extpro("D:Program FilesWinRARRar.exe" a -ep -df "D:Desktoptmpsqluldr220160916.rar" "D:Desktoptmpsqluldr2OUT2.TXT"); end; 参数说明: a: 压缩文件-ep:包内不显示压缩路径-df:压缩后删除原文件总结 程序执行需要授权,如需要查看执行日志,可在sqlplus下先执行:Set serveroutput onExec dbms_java.set_output(5000);HH(mellowsmileqq.com)总结整理