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 阅读(195) 评论(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

只有注册用户登录后才能发表评论。


网站导航: