create or replace and compile java source named readexcel as
import jxl.Sheet;
import jxl.Cell;
import java.io.InputStream;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import jxl.Workbook;
public class ReadExcel
{
public static String read() {
String str = "";
String elementrq = null, elementecbm = null, elementch = null;
jxl.Workbook rwb = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver"
;
InputStream is = new FileInputStream("C:/tmp/abc.xls"
;
rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();
int rsRows = rs.getRows();
Connection con = DriverManager.getConnection(
"jdbc
racle:thin:@127.0.0.1:1521:ORCL", "scott", "tiger"
;
Statement s = con.createStatement();
for (int i = 1; iExecute dbms_java.grant_permission( 'YOUR_DATABASE_USER',
'SYS:java.io.FilePermission',
'>',
'execute');
SQL> execute dbms_java.grant_permission( 'YOUR_DATABASE_USER',
'SYS:java.lang.RuntimePermission',
'writeFileDescriptor',
'*' );
SQL> execute dbms_java.grant_permission( 'YOUR_DATABASE_USER',
'SYS:java.lang.RuntimePermission',
'readFileDescriptor',
'*' );
SQL> Commit;
4. Use it
Set Serverout On
Declare
x Varchar2(2000);
Begin
x := OSCommand_Run('/usr/bin/who > /home/test');
DBMS_OUTPUT.Put_Line(x);
End;
/
|