Oracle 和 DB2 数据库中调用Java函数

举个例子,例如从长整型时间(毫秒数)转为java.util.Date对象:

 

Oracle9:

使用PL/SQL,创建Java函数:

create or replace and compile java source named long2date as
public class Long2Date
{
  public static java.lang.String entry(long dt)
  {
         java.text.DateFormat formate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
         java.util.Date d1 = new java.util.Date(dt);
         return formate.format(d1);
  }
}


在SQLPlus中(应该在别的里边也可以,但是不明白为什么不行)执行下面的语句,创建函数
CREATE OR REPLACE FUNCTION F_LONG2DATE_JAVA (dt NUMBER) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'Long2Date.entry(long) return java.util.Date';



如果以普通用户的身份运行这些创建命令,在其它用户使用这个函数时必须加上它的owner,即如下:

select ower.F_LONG2DATE_JAVA(11111111) from dual;

如果以SYSDBA方式来创建,则可以直接使用,如:
select F_LONG2DATE_JAVA(11111111) from dual;

 

从表中查询:

select c.F_LONG2DATE_JAVA( table.field) from table

DB2 V9.1
(1)编写Java源文件,编译为class
(2)将这个class(如果有pakage的话,目录要按照pakage来建),放到DB2目录的function目录下
(3)创建DB2的函数,可以写成sql文件,然后用"db2 -tf <sqlfile>"的方式来建立函数
(4)如果创建出错,可以使用drop function <function name>命令来删除函数
(5)此后就可以在select查询中使用这个函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值