Oracle數(shù)據(jù)庫(kù)里如何使用Java存儲(chǔ)
本文主要介紹的是如何在Oracle數(shù)據(jù)庫(kù)里使用Java存儲(chǔ)過(guò)程,本文以Oracle為例,來(lái)介紹一下java存儲(chǔ)過(guò)程的實(shí)際具體用法。 以下是文章的具體介紹,望你瀏覽完以下的內(nèi)容會(huì)有所收獲。
一、如何創(chuàng)建java存儲(chǔ)過(guò)程?
通常有三種方法來(lái)創(chuàng)建java存儲(chǔ)過(guò)程。
1. 使用Oracle的sql語(yǔ)句來(lái)創(chuàng)建:
e.g. 使用
- create or replace and compile java source named "" as
后邊跟上java源程序。要求類的方法必須是public static的,才能用于存儲(chǔ)過(guò)程。
- 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 已創(chuàng)建
- SQL> show errors java source "javademo1"
沒有錯(cuò)誤。
- SQL> create or replace procedure javademo1
- as
- language java name 'JavaDemo1.main(java.lang.String[])';
- /
過(guò)程已創(chuàng)建
- SQL> set serveroutput on
- SQL> call javademo1();
調(diào)用完成
- SQL> call dbms_java.set_output(5000);
調(diào)用完成
- SQL> call javademo1();
- hello, java demo1
調(diào)用完成。
- SQL> call javademo1();
- hello, java demo1
調(diào)用完成。
2.使用外部class文件來(lái)裝載創(chuàng)建
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;
授權(quán)成功
- SQL> conn scott/tiger@iihero.oracledb
已連接。
- SQL> create or replace directory test_dir as 'd:\oracle';
目錄已創(chuàng)建
- SQL> create or replace java class using bfile
(test_dir, 'OracleJavaProc.CLASS')- 2 /
Java 已創(chuàng)建。
- SQL> create or replace procedure testjavaproc as
language java name 'OracleJavaProc.main
(java.lang.String[])';- 2 /
過(guò)程已創(chuàng)建。
- SQL> call testjavaproc();
調(diào)用完成。
- SQL> execute testjavaproc;
PL/SQL 過(guò)程已成功完成。
- SQL> set serveroutput on size 5000
- SQL> call dbms_java.set_output(5000);
調(diào)用完成
- SQL> execute testjavaproc;
- It's a Java Oracle procedure.
以上的相關(guān)內(nèi)容就是對(duì)如何在Oracle數(shù)據(jù)庫(kù)里使用Java存儲(chǔ)過(guò)程的相關(guān)介紹,望你能有所收獲。
【編輯推薦】