本文主要介紹的是如何在Oracle數據庫裡使用Java存儲過程,本文以Oracle為例,來介紹一下Java存儲過程的實際具體用法。 以下是文章的具體介紹,望你浏覽完以下的內容會有所收獲。
一、如何創建Java存儲過程?
通常有三種方法來創建Java存儲過程。
1. 使用Oracle的sql語句來創建:
e.g. 使用
- create or replace and compile Java source named "" as
後邊跟上Java源程序。要求類的方法必須是public static的,才能用於存儲過程。
- SQL> create or replace and compile Java source
named "Javademo1"- as
- import Java.sql.*;
- public class JavaDemo1
- {
- public static void main(String[] argv)
- {
- System.out.println("hello, Java demo1");
- }
- }
- /
Java 已創建
- SQL> show errors java source "Javademo1"
沒有錯誤。
- SQL> create or replace procedure Javademo1
- as
- language java name 'JavaDemo1.main(Java.lang.String[])';
- /
過程已創建
- SQL> set serveroutput on
- SQL> call Javademo1();
調用完成
- SQL> call dbms_Java.set_output(5000);
調用完成
- SQL> call Javademo1();
- hello, Java demo1
調用完成。
- SQL> call Javademo1();
- hello, Java demo1
調用完成。
2.使用外部class文件來裝載創建
e.g. 這裡既然用到了外部文件,必然要將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.
以上的相關內容就是對如何在Oracle數據庫裡使用Java存儲過程的相關介紹,望你能有所收獲。