plsql调用java方法(举例)
一、编写java源文件
public class Test
{
public static void main(String args[])
{
System.out.println("test");
}
public static String returnString(String strTest)
{
return "return:" + strTest;
}
}
二、装载Java代码及类到Oracle8i数据库中
loadjava -user aipay/payai@aipay -o -v -f -r Test.java
三、发行Java,生成调用说明
sqlplus aipay/payai@aipay 登陆
CREATE OR REPLACE FUNCTION fc_java_test (v_test VARCHAR2)
RETURN VARCHAR2
AS
LANGUAGE JAVA
NAME 'Test.returnString(java.lang.String) return java.lang.String';
/
四、测试
sqlplus aipay/payai@aipay 登陆
select fc_java_test('test') from dual;
===================================================================================================
plsql调用java方法(实际操作)
loadjava -user aipay/payai@aipay -o -v -f -r com/aipay/webapp/util/DesUtil.java
CREATE OR REPLACE FUNCTION fc_java_DesUtil_decipher2 (v_passwd VARCHAR2,v_passwd_length PLS_INTEGER)
RETURN VARCHAR2
AS
LANGUAGE JAVA
NAME 'com.aipay.webapp.util.DesUtil.decipher2(java.lang.String,java.lang.int) return java.lang.String';
/
select fc_java_DesUtil_decipher2('9bddcff77b68a916',16) from dual;
CREATE OR REPLACE FUNCTION fc_java_DesUtil_cipher2 (v_passwd VARCHAR2,v_passwd_length PLS_INTEGER)
RETURN VARCHAR2
AS
LANGUAGE JAVA
NAME 'com.aipay.webapp.util.DesUtil.cipher2(java.lang.String,java.lang.int) return java.lang.String';
/
select fc_java_DesUtil_cipher2('test',4) from dual;
CREATE OR REPLACE FUNCTION fc_java_DesUtil_returnString (v_string VARCHAR2)
RETURN VARCHAR2
AS
LANGUAGE JAVA
NAME 'com.aipay.webapp.util.DesUtil.returnString(java.lang.String) return java.lang.String';
/
select fc_java_DesUtil_returnString('test') from dual;
CREATE OR REPLACE procedure fc_java_DesUtil
AS
LANGUAGE JAVA
NAME 'com.aipay.webapp.util.DesUtil.main(java.lang.String[])';
/
set serveroutput on size 5000
call dbms_java.set_output(5000);
execute fc_java_DesUtil;
call fc_java_DesUtil();
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10881/viewspace-178043/
,如需转载,请注明出处,否则将追究法律责任。