资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
ORACLE技术交流群(144243235)Oracle使用java source调用外部程序 需求 Oracle调用第三方外部程序。Oracle使用sqluldr2快速导出大批量数据,然后用winrar压缩后发送邮件。 本文档主要实现前两步需求,发送邮件程序这里不再说明。原码 授权begin dbms_java.grant_permission(SCOTT,SYS:java.io.FilePermission,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)总结整理
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号