trigger调用外部java文件 步骤

来源:互联网 发布:windows 包管理工具 编辑:程序博客网 时间:2024/05/22 15:36
步骤:
一、新建java文件(Md5trigger.java)


二、通过cmd进入java文件所在包路径(E:\loadjava), 执行命令
E:\loadjava>loadjava -user plantform/pf@192.168.0.5:1521/ORCL -o -v -f -r Md5Trigger.java


三、新建function,通过plsql命令窗口执行或者通过cmd执行
create or replace function f_md5trigger(v varchar2,v2 varchar2) return varchar2 as language java name 'Md5Trigger.getStr(java.lang.String,java.lang.String) 
return java.lang.String';


四、通过触发器调用或者储存过程调用
触发器调用:缩写,看明白怎么调用就行
declare
 getstr varchar(50);
begin
 getstr:= f_md5trigger(getid,'111111');--直接调用传参数。

end;

储存过程调用示例:

create or replace procedure test_count
as 
v_total number(1);
v_getval varchar(20);
begin 
  --select count(*) into v_total from testtable;
  --DBMS_OUTPUT.put_line('总人数:'||v_total); 
  v_getval := f_md5trigger('1','p1');
  DBMS_OUTPUT.put_line(v_total);
end;

五、详细内容:

Md5trigger.java

import java.security.MessageDigest;
public class Md5Trigger {
public final static String MD5(String s) {
char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};       
try {
byte[] btInput = s.getBytes();
// 获得MD5摘要算法的 MessageDigest 对象
MessageDigest mdInst = MessageDigest.getInstance("MD5");
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static String getStr(String id,String pwd){
String str = id + pwd;
String md2str=Hello2.MD5(str);
System.out.println("====================="+md2str);
return md2str;
}
}

0 0
原创粉丝点击