blogger

    blogger
  • hot log

  • comment

    twitter

    • 12.10.xC6出来时候碰到"Could not determine encryption mode from page zero",竟果然是BUG!http://www-01.ibm.com/support/docview.wss?rs=630&uid=swg21973408

      2015-12-21 20:15

    • 空间已经转移到新加坡,希望会好一些。

      2015-11-16 14:34

    • 增加新域名liaosnet.cc,与liaosnet.com同指向。

      2015-10-09 15:25

    • 空间迁移到香港。或许速度会快一点。。

      2014-02-13 20:10

    • 解决个问题:NBU配置Storage时的目录在系统分区上,导致备份失败,最终原因是目录在系统分区上时,需要在 This directory can exist on the root file system or system disk. 这个选项前打上勾。

      2012-09-26 22:21

    • More»

    blog sort

    links

    record

    banner

    Informix使用Java UDR的方法

    暗夜星空's Memory from Mar 8 , 2016 at 22:21 PM , under Category:INFORMIX教程
    操作系统: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扩展数据库功能 

    Post a comment:

    Your email address will not be published. Required fields are marked﹡