软件环境:
1、操作系统:win xp
2、数据库:oracle 10.2
3、安装路径:d:\oracle
4、测试class目录:d:\test
前提:如果是使用外部调用java程序的,确保oracle安装目录下的jdk和你编译的jdk版本一致。要不会报找不到class异常的。同时也确保把class文件放至数据库服务器硬盘中。
实现方法:
1、创建一java文件:OraclejavaProc.java
View Code
1 public class OraclejavaProc {
2 public static void main(String[] args) {
3 System.out.println("It's a oraclejavaproc!");
4 }
5 }
2、使用oracle目录下的D:\oracle\product\10.2.0\db_1\jdk\bin javac来编译
javac OraclejavaProc.java
3、java OraclejavaProc 测试一下是否可成功输出信息。
4、登录oracle (可使用sql*plus或plsql)
View Code
1 SQL> conn system/manager
2 SQL> grant create any directory to scott; --授权
3 SQL> conn scott/tiger ---如果是管理员登录操作的可省略此步
4 SQL> create or replace directory oracle_dir as 'd:\test';
5 --目录已创建。
6 SQL> create or replace java class using bfile(oracle_dir,'OraclejavaProc.class');
7 Java 已创建。
8 --SQL> select object_name,object_type,STATUS from user_objects; --可查看object_type是否有java class的数据。
9 SQL> create or replace procedure oracle_java as language java
10 name 'OraclejavaProc.main(java.lang.String[])';
11 --过程已创建。
12 SQL> set serveroutput on size 5000 --使用pl/sql时此句可不用也可打印出
13 SQL> call dbms_java.set_output(5000);
14 --调用完成。
15 SQL> execute oracle_java;
16 It's a oraclejavaproc!
17
18 PL/SQL 过程已成功完成。
19 SQL> call test_java();
20 It's a oraclejavaproc!
21
22 --调用完成。