當前位置:才華齋>計算機>java語言>

java編寫oracle儲存的方法

java語言 閱讀(2.22W)

Java的主要工作是通過程式語言來製作網際網路頁面、製作動態效果以及網站等技術,以下是小編為大家搜尋整理的java編寫oracle儲存的方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

java編寫oracle儲存的方法

通常我們都使用Ps/SQL為Oracle編寫儲存過程,從Oracle 8開始我們可以有另一種選擇:Java。8.0開始,Oracle自帶一個JVM,內建對Java的支援,任何Java能做的事情你都可以放到Oracle裡面來做,你甚至可以在裡面操作db2。這讓Oracle具備了極其巨大的擴充套件能力,只要你願意,完全可以開發一個trigger,讓它在適當的時候給管理員的msn傳送一條即時訊息。

好訊息說完了,現在是壞訊息:由於ps/SQL是過程化的語言,它基本上不具備多型的概念,供Oracle使用的Java方法必須申明為static,所以在Oracle中你無法使用Java的動態特性,比如介面、反射等。不過這並不妨礙你用Java做愛做的事。

我們以一個簡單的hello world為例,我想任何一個有經驗的Java程式設計師都能夠通過這個例子,派生出其他希奇古怪的應用,有好的創意記得要與我共享,我的'msn是

首先是建立一個Java類,你可以用Jbuilder/Eclipse來編寫,也可以直接在Oracle的控制檯裡面建立。前者不多說,看看後一種方式。

啟動SQL plus,執行如下命令:

create or replace and compile java source named "hello_sp" as

package le;

public class Hello

{

public static String say(String name)

{

return "你好,"+name;

}

}

Java程式已建立。

然後在Oracle中把這個類匯入成為一個函式,執行命令:

create or replace function hello_sp(name varchar2) return varchar2

as language java name

'(ng) return ng';

函式已建立

現在可以呼叫該函式,執行:

select hello('bromon') from dual;

返回結果:你好,bromon

有一個需要注意的問題是,假如我們的java方法是沒有引數的,比如:

public static String say()

{

return "你好”;

}

那麼在建立函式的時候,函式名不應該有擴號:hello_sp,否則會報告函式有編譯錯誤。

如果你的Java類是在IDE裡面編寫的,那麼只需要在oracle中載入編譯過的class檔案即可,方法是:

啟動enterprise manage console,在“方案”下找到“源型別”,右擊”Java類”,選擇”載入Java“,選擇對應的class檔案即可。