日期:2014-05-18  浏览次数:20676 次

db2创建函数问题
自己写了一个java函数类,创建uuid
public class UDFUUID extends UDF {	
public static String uuid() {
UUID uuid = UUID.randomUUID();
// 去掉中间的分隔
String uid = uuid.toString().replaceAll("-", "");
return uid;
}
public static void main(String args[]){
System.out.println(UDFUUID.uuid());
}
}

编译好之后,放到db2的function文件夹内,之后创建函数
create function uuid()
  returns char(32)
  fenced
  variant
  no sql
  language java
  parameter style java
  external name 'UDFUUID!uuid';
调用函数values uuid()没问题。
可是换了一个别的机器,就不行了。可以创建,调用就报错,错误信息如下

SQL4304N java 存储过程或用户定义的函数“ADMINISTRATOR.UUID”(特定名称"SQL131217124954900")不能装入java类“UDFUUID”原因码为“1” SQLSTATE=42724

求大神帮忙。

------解决方案--------------------
楼主可以参考一下这个,希望能帮到你http://blog.csdn.net/kfarvid/article/details/6759516