oracle调用外部java程序代码

2014-11-24 09:43:54 · 作者: · 浏览: 0

软件环境:

1、操作系统:win xp

2、数据库:oracle 10.2

3、安装路径:d:\oracle

4、测试class目录:d:\test

前提:如果是使用外部调用java程序的,确保oracle安装目录下的jdk和你编译的jdk版本一致。要不会报找不到class异常的。同时也确保把class文件放至数据库服务器硬盘中。

实现方法:

1、创建一java文件:OraclejavaProc.java

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)

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 --调用完成。

作者 咖啡仔