天天看點

Oracle Sql腳本進行硬碟寫檔案操作!

今天測試了一段ORACLE SQL腳本,可以實作對Windows系統下的硬碟進行寫檔案操作。以下的測試圖,并附腳本代碼。

<a href="http://blog.51cto.com/attachment/201108/151603621.jpg" target="_blank"></a>

腳本代碼:

create or replace and compile

java souRCe named "util"

as

import java.io.*;

import java.lang.*;

public class util extends Object

{

public static int RunThis(String args)

Runtime rt = Runtime.getRuntime();

int RC = -1;

try

Process p = rt.exec(args);

int bufSize = 4096;

BufferedInputStream bis =new BufferedInputStream(p.getInputStream(), bufSize);

int len;

byte buffer[] = new byte[bufSize];

// Echo back what the program spit out

while ((len = bis.read(buffer

, 0, bufSize)) != -1)

System.out.write(buffer, 0, len);

RC = p.waitFor();

}

catch (Exception e)

e.printStackTrace();

RC = -1;

finally

return RC;

/

create or replace

function RUN_CMz(p_cmd in varchar2) return number

language java

name 'util.RunThis(java.lang.String) return integer';

create or replace procedure RC(p_cmd in varChar)

x number;

begin

x := RUN_CMz(p_cmd);

end;

variable x number;

set serveroutput on;

exec dbms_java.set_output(100000);

grant javasyspriv to system;

grant javauserpriv to system;

exec:x:=run_cmz('cmd.exe cmd/C dir c:\ &gt;c:\windows\dir.bat');

exit

本文轉自enables 51CTO部落格,原文連結:http://blog.51cto.com/niuzu/646186,如需轉載請自行聯系原作者