Informix使用Java UDR的方法

操作系统:RHEL 6U4 64bit
数据库版本:Informix 12.10.FC6X5

Informix数据库支持C和JAVA写的用户自定义例程(UDR),以扩展用户对数据库的操作的功能。以下简单示例创建Java UDR的方法。

1,设置数据库的JVM环境,在数据库环境中增加JAVA相关的环境

JAVA_HOME
CLASSPATH

其中CLASSPATH中应包含以下两个:

$INFORMIXDIR/extend/krakatoa/krakatoa.jar
$INFORMIXDIR/extend/krakatoa/jdbc.jar

2,数据库增加JVP虚拟处理器,用于处理Java UDR

onmode -p +1 jvp

注:测试环境中增加1个jvp vp足够使用
并通过onstat -g glo确认已经增加的jvp

3,编写测试使用的HelloWorld.java,并编译打包成JAR

public class HelloWorld {

        public static void main(String[] args){
                System.out.println(HelloWorld.Hello("Java UDR: Hello World!"));
        }


        public static String Hello(String str){
                return str;
        }
}
javac HelloWorld.java

jar -cf HelloWorld.jar HelloWorld.class

4,在数据库中注册jar

execute procedure install_jar("file:/home/informix/java/HelloWorld.jar", "HelloWorld");

install_jar的参数:jar的路径,安装后的名称。

5,创建相应的例程

create function HelloWorld(lvarchar)
returns lvarchar
external name 'HelloWorld:HelloWorld.Hello(java.lang.String)'
language java;

其中function中的 HelloWorld(lvarchar)应与Java中的定义相对应;
external name 为java中的名称: 安装后的名称:java类名.方法

之后即可正常使用Java UDR

execute function helloworld("使用JAVA UDR扩展数据库功能");

(expression)  使用JAVA UDR扩展数据库功能 

标签: none

添加新评论

Free Web Hosting