您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

为Sybase ASA创建外部存储过程(Java示例)

2024/5/3 13:07:29发布25次查看
下面介绍一个简单的示例,来创建一个基于java 的asa存储过程, 数据库(asa11.0或以上版本), 该示例很简单,输入主机名,返回对应的
衡量一个dbms的功能是否强大,外部存储过程是否很方便创建和使用,是一个重要特征。
asa数据库,很早就开始支持使用c, clr(.net)以及java等编程语言来创建存储过程。
下面介绍一个简单的示例,来创建一个基于java 的asa存储过程, 数据库(asa11.0或以上版本), 该示例很简单,输入主机名,返回对应的ip地址,,如果不能解析,返回.
先编写一个java类,大致内容如下:
import java.net.inetaddress;
import java.net.unknownhostexception;
public class supprocutils
{
public static string getipofhost(string host)
    {
        string resolvedip = ;
        try
        {
            resolvedip = inetaddress. getbyname(host).gethostaddress();
        }
        catch (unknownhostexception e)
        {
        }
        return resolvedip;
}
public static void main(string[] args)
    {
        system. out.println(getipofhost( www.linuxidc.com));
    }
}
然后连接目标数据库,执行下述sql语句:
1. 指定jvm位置
alter external environment java location 'c:\\shared\\jdk1.6.0_31_x86\\bin\\java.exe'; // 这个主要是指定jvm的位置。
2. 安装java class
install java new from file 'c:\\users\\workspace\\test\\bin\\supprocutils.class';
3. 创建存储过程(函数)
create function getipofhost(in hostname char(128)) returns varchar(128)
external name 'supprocutils.getipofhost(ljava/lang/string;)ljava/lang/string;'
language java;
这里边主要要注意的是参数类型以及返回值班类型,可以使用javap -c 得到原型说明。
4.示例查询:
select getipofhost('xxx.xxx.com');
返回:
100.172.102.173
总体来说,还是非常简单的。
至于asa的c存储过程的创建,步骤稍麻烦些,代码写起来也稍费时间些,但是c存储过程是最高效的,因为它的执行不需要单独的jvm或者clr运行时环境。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product