oracle使用java source调用外部程序

上传人:yi****st 文档编号:119337970 上传时间:2020-01-12 格式:DOC 页数:3 大小:36KB
返回 下载 相关 举报
oracle使用java source调用外部程序_第1页
第1页 / 共3页
oracle使用java source调用外部程序_第2页
第2页 / 共3页
oracle使用java source调用外部程序_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《oracle使用java source调用外部程序》由会员分享,可在线阅读,更多相关《oracle使用java source调用外部程序(3页珍藏版)》请在金锄头文库上搜索。

1、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.RuntimePerm

2、ission,*,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=Runt

3、ime.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); pub

4、lic 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

5、 (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 nam

6、e 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()总结整理

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号