暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8s Java UDR安装说明

liaosnet 2023-02-03
682

创建Java UDR过程

1, 将共享库gbasedbt-judr-x.x.x.jar 放置于数据库服务器上

比如,放到$GBASEDBTDIR/udr 目录下,并改名为judr.jar
则gbasedbt-judr-x.x.x.jar的位置为$GBASEDBTDIR/udr/judr.jar
下载地址:https://docs.gbasedbt.com/Java_Udr/install/gbasedbt-judr-1.0.0.jar

2, 设置数据库的JVP环境

ONCONFIG配置文件涉及到JVP的相关参数

1)VPCLASS开启jvp,用于处理Java UDR,默认不开启,取消前面的注释符’#’,如果有较多调用,可增加jvp的数量

VPCLASS jvp,num=1

2)JVPARGS增加 -Dfile.encoding=UTF-8(根据实际需要增加与否,即直接java执行的参数),JVPCLASSPATH增加judr.jar

JVPARGS -Dcom.ibm.tools.attach.enable=no;-Dfile.encoding=UTF-8 JVPCLASSPATH $GBASEDBTDIR/extend/krakatoa/krakatoa.jar:$GBASEDBTDIR/extend/krakatoa/jdbc.jar:$GBASEDBTDIR/udr/judr.jar

重启数据库生效,通过onstat -g glo确认已经增加的jvp。

3, 创建相应的例程

示例:

drop function if exists ifnull(lvarchar,lvarchar); create dba function ifnull(lvarchar,lvarchar) returns lvarchar with (not variant, handlesnulls) external name 'com.gbasedbt.judr.mysql.MysqlFunc.ifnull(java.lang.String,java.lang.String)' language java;

其中function中的 ifnull(lvarchar,lvarchar)应与Java中的定义相对应;
external name 为java中的名称: java类名.方法
使用:

select ifnull(null,'abc') from dual;

4, Java Udr 函数说明

Math类
– conv 进制转换函数

function conv(lvarchar,int,int)

– rand 随机函数(1-1亿的随机数)

function rand()

– random 随机函数(0-1之间的随机数)

function random()

– randnum 指定范围内的随机数

function randomnum(int,int)

HEX
– decodeHex
– 使用默认字符集UTF-8

function decodeHex(lvarchar)

– 第二个参数指定字符集,如UTF-8,GBK

function decodeHex(lvarchar,lvarchar)

– encodeHex
– 使用默认字符集UTF-8

function encodeHex(lvarchar)

– 第二个参数指定字符集,如UTF-8,GBK

function encodeHex(lvarchar,lvarchar)

CRYPT
– decodeBase64
– 输出ascii结果

function decodeBase64(lvarchar)

– decodeBase64Hex
– 输出hex结果

function decodeBase64Hex(lvarchar)

– decryptAES (PKCS5)
– 指定8位secret

function decryptAES(lvarchar,lvarchar)

– 使用默认的8位secret

function decryptAES(lvarchar)

– decryptDES (PKCS5)
– 指定8位secret

function decryptDES(lvarchar,lvarchar)

– 使用默认的8位secret

function decryptDES(lvarchar)

– encodeBase64
– 输出ascii结果

function encodeBase64(lvarchar)

– encodeBase64Hex
– 输出hex结果

function encodeBase64Hex(lvarchar)

– encodeMD5

function encodeMD5(lvarchar)

– encryptAES
– 指定8位secret

function encryptAES(lvarchar,lvarchar)

– 使用默认的8位secret

function encryptAES(lvarchar)

– encryptDES
– 指定8位secret

function encryptDES(lvarchar,lvarchar)

– 使用默认的8位secret

function encryptDES(lvarchar)

– sm4_decrypt
– 指定16位secret

function decryptSM4(lvarchar,lvarchar)

– 使用默认的16位secret

function decryptSM4(lvarchar)

– sm4_encrypt
– 指定16位secret

function encryptSM4(lvarchar,lvarchar)

– 使用默认的16位secret

function encryptSM4(lvarchar)

MySQL兼容
– ascii

function jascii(lvarchar)

– chr

function jchr(int)

– randomstr,随机字符串

function randomstr(int)

– 指定大小写

function randomstr(lvarchar,int)

– uuid

function juuid()

– now

function now()

– unix_timestamp

function unix_timestamp() -- 指定日期时间字符串 function unix_timestamp(lvarchar)

– from_unixtime

function from_unixtime(int)

– ifnull

function ifnull(lvarchar,lvarchar)

– find_in_set 兼容函数

function find_in_set(lvarchar,lvarchar)

– format 兼容函数

function format(float,int)

– repeat 兼容函数

function repeat(lvarchar,int)

说明
gbasedbt-judr-x.x.x.jar中包含的函数,具体参考javadoc

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论