参考这个来做,实现方法:
1、 创建一个文件为TEST.java
public class TEST
{
public static void main (String args[])
{
System.out.println("HELLO THIS iS A JAVA PROCEDURE");
}
}
2、 javac TEST.java
3、 java TEST 4、 SQL> conn system/manager
SQL> grant create any directory to scott;
SQL> conn scott/tiger
SQL> create or replace directory test_dir as 'd:\'; 目录已创建。 SQL> create or replace java class using bfile(test_dir,'TEST.CLASS')
2 / Java 已创建。 SQL> select object_name,object_type,STATUS from user_objects; SQL> create or replace procedure test_java
as language java
name 'TEST.main(java.lang.String[])';
/ 过程已创建。 SQL> set serveroutput on size 5000
SQL> call dbms_java.set_output(5000); 调用完成。 SQL> execute test_java;
HELLO THIS iS A JAVA PROCEDURE PL/SQL 过程已成功完成。 SQL> call test_java();
HELLO THIS iS A JAVA PROCEDURE 调用完成。
1、 创建一个文件为TEST.java
public class TEST
{
public static void main (String args[])
{
System.out.println("HELLO THIS iS A JAVA PROCEDURE");
}
}
2、 javac TEST.java
3、 java TEST 4、 SQL> conn system/manager
SQL> grant create any directory to scott;
SQL> conn scott/tiger
SQL> create or replace directory test_dir as 'd:\'; 目录已创建。 SQL> create or replace java class using bfile(test_dir,'TEST.CLASS')
2 / Java 已创建。 SQL> select object_name,object_type,STATUS from user_objects; SQL> create or replace procedure test_java
as language java
name 'TEST.main(java.lang.String[])';
/ 过程已创建。 SQL> set serveroutput on size 5000
SQL> call dbms_java.set_output(5000); 调用完成。 SQL> execute test_java;
HELLO THIS iS A JAVA PROCEDURE PL/SQL 过程已成功完成。 SQL> call test_java();
HELLO THIS iS A JAVA PROCEDURE 调用完成。
call.registerOutParameter(1, OracleTypes.CURSOR);// 註冊out參數的SQL數據類型
call.execute();
ResultSet rs=(ResultSet)call.getObject(1);// 取得得數据結果集合
while(rs.next())
……