class必须放到oracle Server的某一目录下边,并且授权。 此处授权为目录授权。这里既然用到了外部文件,必然要将class文件放到oracle Server的某一目录下边。 public class OracleJavaProc { public static void main(String[] argv) { System.out.println("It''s a Java Oracle procedure."); } } SQL> grant create any directory to scott;授权成功。SQL> conn scott/[email protected] 已连接。 SQL> create or replace directory test_dir as ''d:\oracle'';目录已创建。SQL> create or replace java class using bfile(test_dir, ''OracleJavaProc.CLASS'') 2 /Java 已创建。SQL> create or replace procedure testjavaproc as language java name ''OracleJavaProc.main(java.lang.String[])''; 2 /过程已创建。SQL> call testjavaproc();调用完成。SQL> execute testjavaproc;PL/SQL 过程已成功完成。SQL> set serveroutput on size 5000 SQL> call dbms_java.set_output(5000);调用完成。SQL> execute testjavaproc; It''s a Java Oracle procedure.
此处授权为目录授权。这里既然用到了外部文件,必然要将class文件放到oracle Server的某一目录下边。
public class OracleJavaProc
{
public static void main(String[] argv)
{
System.out.println("It''s a Java Oracle procedure.");
}
}
SQL> grant create any directory to scott;授权成功。SQL> conn scott/[email protected]
已连接。
SQL> create or replace directory test_dir as ''d:\oracle'';目录已创建。SQL> create or replace java class using bfile(test_dir, ''OracleJavaProc.CLASS'')
2 /Java 已创建。SQL> create or replace procedure testjavaproc as language java name ''OracleJavaProc.main(java.lang.String[])'';
2 /过程已创建。SQL> call testjavaproc();调用完成。SQL> execute testjavaproc;PL/SQL 过程已成功完成。SQL> set serveroutput on size 5000
SQL> call dbms_java.set_output(5000);调用完成。SQL> execute testjavaproc;
It''s a Java Oracle procedure.