PL/SQL呼叫JAVA CLASS
最近在研究公司用高資買來的一個產品,發現裡面用到PLSQL呼叫JAVA的實現。
這種用法,我記得在我05年剛工作時看到過,今天來寫下來一下吧
總的說來,這種方法,就是把JAVA方法通過PLSQL的FUNCTION或者PROCUDRE的方法暴露給SQL呼叫(
兩者的區別,大家自己查一下吧)
對於JAVA的方法一定要是STATIC的,引數可以有,可以沒有,但是PLSQL中的FUNCTION或者PROCUDRE
要和JAVA方法保持一致。
實現方法
1,建立JAVA CLASS
a)對於簡單的CLASS,我們可以直接在PLSQL裡定議,如下
create or replace and compile java source named "HelloWorld"
as
package
com.test;
public class HelloWorld {
public static String sayHello(String
name){
System.out.println("hello::"+ name);
return
"hello::"+ name;
}
}
b)第二個方法,就是可以先建立和編譯好CLASS,如:
package com.test;
public class HelloWorld {
public static String sayHello(String
name){
System.out.println("hello::"+ name);
return
"hello==="+ name;
}
}
然後用oracle提供的loadjava utility把CLASS上傳到ORACLE
SERVER上(第三方JAR包也可以這樣傳上去)
可以用dropjava utility把CLASS從SERVER刪除
loadjava -user username/pass@ORACLE_SERVER {dir}\HelloWorld.class
2)建立對就的SQL FUNCTION如:
create or replace function HelloWorld(p_name in
varchar2)
return varchar2
as
language java name
'com.test.HelloWorld.sayHello(java.lang.String) return java.lang.String';
執行成功之後,你可以能過TOAD,發現上傳的CLASS在JAVA這個目錄裡
除了用上面的SQL建立FUNCTION外,我們也可以通過TOAD的快捷方式,如
3)通過select HelloWorld('java') from dual;看看是不是成功了,呵呵
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29063131/viewspace-1179438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PL/SQL精明的呼叫棧分析SQL
- 用pl/sql替代JavaSQLJava
- PL/SQL呼叫時使用呼叫者的許可權SQL
- PLSQL Language Referenc-PL/SQL子程式-子程式呼叫SQL
- openGauss關於PL/SQL匿名塊呼叫測試SQL
- 【OracleEBS】 在PL/SQL中呼叫Oracle ERP請求OracleSQL
- PL/SQLSQL
- SQL&PL/SQL (轉)SQL
- PL/SQL 宣告SQL
- PL/SQL cursorSQL
- PL/SQL打包SQL
- PL/SQL DEVSQLdev
- Oracle PL/SQLOracleSQL
- 在pl/SQL中呼叫logminer相關檢視的問題SQL
- PLSQL Language Referenc-PL/SQL動態SQL-練習:在動態SQL塊中呼叫子程式。SQL
- 使用PL/Scope分析PL/SQL程式碼SQL
- PLSQL Language Reference-PL/SQL概覽-PL/SQL架構SQL架構
- [PL/SQL]10g PL/SQL學習筆記(一)SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(二)SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(三)SQL筆記
- PL/SQL 迴圈SQL
- PL/SQL 遊標SQL
- PL/SQL 運算子SQL
- PL/SQL 條件SQL
- pl/sql to_dateSQL
- PL/SQL 基礎SQL
- Oracle PL/SQL INDICESOracleSQL
- PL/SQl Developer使用SQLDeveloper
- pl/sql陣列SQL陣列
- pl/sql練習SQL
- oracle PL/SQL示例OracleSQL
- 淺談pl/sqlSQL
- PL/SQL 索引表SQL索引
- pl/sql 練習SQL
- [pl sql] where current ofSQL
- pl/sql功能特性SQL
- PL/SQL Developer 使用SQLDeveloper
- PL/SQL小結SQL