ORACLE存储过程调用JAVA代码

开始

1、首先建立一个java文件,我们这里建立一个简单的输出语句

      我把这个文件放在我电脑的 D:\test 目录下

public class OraclejavaProc {
    public static void main(String[] args) {
        System.out.println("It's a oraclejavaprocsafsaf");
    }
}

2、使用oracle自带的jdk版本来编译我们这个java文件,编译完之后可以在cmd里面调用试下

      我这里的oracle的jdk目录在D:\app\Administrator\product\11.2.0\dbhome_1\jdk\bin下面

3、在oracle里面添加我们的class文件目录

create or replace directory oracle_dir as 'd:\test';

     这里运行上面这个语句,有可能会权限不够。则使用管理员运行下面的语句

grant create any directory to scott;

4、把class信息添加到oracle里面

create or replace java class using bfile(oracle_dir,'OraclejavaProc.class');

     使用下面的语句可以查看被添加到oracle的class文件信息

select object_name,object_type,STATUS from user_objects u where u.OBJECT_TYPE = 'JAVA CLASS' ;

     如果把user_objects的这个class文件信息删除,oracle的class文件也会被删除

5、建立一个存储过程来执行java文件

create or replace procedure oracle_java as language java name 'OraclejavaProc.main(java.lang.String[])';

6、在oracle的命令窗口测试,下面的命令按顺序一条一条执行

set serveroutput on size 5000;


call dbms_java.set_output(5000);


execute oracle_java;

结束

结尾:仅供自己学习,记录问题和参考,若有带来误解和不便请见谅,共勉!

猜你喜欢

转载自blog.csdn.net/liguoqingxjxcc/article/details/81627178