文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
- 一、前提
- 二、函数编写
- 三、创建外部函数
- 四、外部函数使用
- 总结
达梦8使用外部函数需要开启ENABLE_EXTERNAL_CALL参数和启动代理服务
启动代理
cd /home/dmdba/dmdbms/tool/dmagent ./start.sh -d agent.ini # 启动成功 [root@sim-dm dmagent]# ./start.sh -d agent.ini Starting dmagent..... dmagent(pid: 5928) started successfully. [root@sim-dm dmagent]#
修改参数
disql sysdba/'"pwd"'@loclahost:5136 [dmdba@sim-dm ~]$ disql sysdba/Bgx123.com@localhost:5136 服务器[localhost:5136]:处于普通打开状态 登录使用时间 : 9.003(ms) disql V8 SQL> SQL> CALL SP_SET_PARA_VALUE(2,'ENABLE_EXTERNAL_CALL',1); DMSQL 过程已成功完成 已用时间: 10.023(毫秒). 执行号:2400. SQL>二、函数编写
eclipse创建一个project项目创建成功后创建一个package命名为com.dm.optnum,在包中创建一个类strToUpper。导出类为jar包并上传到数据库安装目录下的bin目录
package com.dm.optnum;
public class strToUpper {
public static String UPPER(String str) {
String temStr = "";
temStr = str.toUpperCase();
return temStr;
}
}
三、创建外部函数
链接数据库创建外部函数
CREATE OR REPLACe FUNCTION CUST_UPPER(str varchar) RETURN varchar EXTERNAL '/home/dmdba/dmdbms/bin/toUpper.jar' "com.dm.optnum.strToUpper.strToUpper" USING java;四、外部函数使用
外部函数创建成功,可使用disql登录数据库或者使用
[dmdba@sim-dm ~]$ disql sysdba/'"PWD"'@localhost:5136
服务器[localhost:5136]:处于普通打开状态
登录使用时间 : 7.629(ms)
disql V8
SQL>
SQL> select CUST_UPPER('richaes') from dual;
行号 CUST_UPPER('richaes')
---------- ---------------------
1 RICHAES
已用时间: 8.914(毫秒). 执行号:2500.
SQL>
总结
以上就是今天要讲的内容,本文仅仅简单介绍了DM8如何调用外部java函数的使用,更多内容请登录https://eco.dameng.com
暑期编程PK赛 得CSDN机械键盘等精美礼品!


