Oracle数据库里如何使用Java存储


  本文标签:Oracle数据库

  本文主要介绍的是如何在Oracle数据库里使用Java存储过程,本文以Oracle为例,来介绍一下java存储过程的实际具体用法  。 以下是文章的具体介绍,望你浏览完以下的内容会有所收获  。

  

  一、如何创建java存储过程?

  通常有三种方法来创建java存储过程  。

  
1. 使用Oracle的sql语句来创建:

  e.g. 使用

  1. create or replace and compile java source named "" as  

  后边跟上java源程序  。要求类的方法必须是public static的,才能用于存储过程  。

  1. SQL> create or replace and compile java source 
    named "javademo1"   
  2. as   
  3. import java.sql.*;   
  4. public class JavaDemo1   
  5. {   
  6. public static void main(String[] argv)   
  7. {   
  8. System.out.println("hello, java demo1");   
  9. }   
  10. }   
  11. /   

  

  Java 已创建

  1. SQL> show errors java source "javademo1"  

  

  没有错误  。

  1. SQL> create or replace procedure javademo1   
  2. as   
  3. language java name JavaDemo1.main(java.lang.String[]);   
  4. /    

  

  过程已创建

  1. SQL> set serveroutput on   
  2. SQL> call javademo1();   
  3.  

  

  调用完成

  1. SQL> call dbms_java.set_output(5000);  

  

  调用完成

  1. SQL> call javademo1();   
  2. hello, java demo1   

  

  调用完成  。

  1. SQL> call javademo1();   
  2. hello, java demo1    

  

  调用完成  。

  2.使用外部class文件来装载创建

  e.g. 这里既然用到了外部文件,必然要将class文件放到oracle Server的某一目录下边  。

  1. public class OracleJavaProc   
  2. {   
  3. public static void main(String[] argv)   
  4. {   
  5. System.out.println("Its a Java Oracle procedure.");   
  6. }   
  7. }   
  8. SQL> grant create any directory to scott;   

  

  授权成功

  1. SQL> conn scott/tiger@iihero.oracledb  

  已连接  。

  

  1. SQL> create or replace directory test_dir as d:\oracle;  

  目录已创建

  1. SQL> create or replace java class using bfile
    (test_dir, OracleJavaProc.CLASS)   
  2. 2 /    

  

  Java 已创建  。

  1. SQL> create or replace procedure testjavaproc as 
    language java name OracleJavaProc.main
    (java.lang.String[]);   
  2. 2 / 

  

  过程已创建  。

  1. SQL> call testjavaproc(); 

  调用完成  。

  1. SQL> execute testjavaproc;  

  

  PL/SQL 过程已成功完成  。

  1. SQL> set serveroutput on size 5000   
  2. SQL> call dbms_java.set_output(5000);   

  

  调用完成

  1. SQL> execute testjavaproc;   
  2. Its a Java Oracle procedure.  

  

  以上的相关内容就是对如何在Oracle数据库里使用Java存储过程的相关介绍,望你能有所收获  。