sybase asa转mysql_为Sybase ASA创建外部存储过程(Java示例)
下面介绍一个简单的示例,来创建一个基于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运行时环境。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
sybase asa转mysql_为Sybase ASA创建外部存储过程(Java示例)相关推荐
- linux sybase系统,Linux下安装Sybase
一. 软件包准备工作 1.下载sybase for linux 安装包 ase1502_xe_linux.tgz 2.ftp上传下载的安装包 3.chown root.root ase1502_xe_ ...
- Sybase迁移Oracle字符集问题,Sybase更换字符集(cp850--cp936)
修改的操作步骤 Sybase server名:eastsoftcourt (在Dsedit中设置) Sybase sa的口令:sybase 生产库名:escourt6 操作的目录:d:\sybase ...
- 对接钉钉审批_低代码对接钉钉创建外部联系人
上次做的CRM对接了钉钉的报价审批功能,客户反映发起审批时每次都要填写完整的客户名称,还不能填错,还是不太方便,希望在钉钉上也能选择到白码系统中已有的客户数据. 白码--无代码 | 低代码软件开发w ...
- 关于在hdfs上对数据创建外部表的原因
对hdfs 上原始数据创建 外部表,然后通过查询插入的方式创建一张内部表,这样相当于复制一份表数据,而原始的数据并没有改变,不会干涉同事使用原始数据. 转载于:https://www.cnblogs. ...
- SQL Server 2005中创建CLR存储过程
在2005之前的版本创建存储过程都是在数据库里面写Transact-SQL语言实现的,不过现在SQL Server 2005支持用其他面向对象的语言编写CLR存储过程了,关于这样做的好处,官方有很多解 ...
- hive中创建外部表分区表测试
--创建外部表 CREATE EXTERNAL TABLE my_report( last_update string, col_a string) PARTITIONED BY ( par_dt s ...
- Maven-学习笔记05【基础-使用骨架创建Maven的Java工程】
Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...
- 创建一个存储过程,返回指定员工的姓名和薪水
/* 创建一个存储过程,返回指定员工的姓名和薪水 */ create or replace PROCEDURE queryEmp1(eno in number,empname out VARCHAR2 ...
- java创建数组大小为n_如何通过提供大小在Kotlin中创建一个像Java一样的数组?
根据 reference,数组按以下方式创建: >对于Java的原始类型,存在不同的类型IntArray,DoubleArray等,它们存储unboxed值. 它们是使用相应的构造函数和工厂函数 ...
最新文章
- CentOs7中安装python3.7.6
- Android中项目中各个文件夹的含义和用途详解
- Batch Normalization 学习笔记
- Oracle inline view 简介
- 两个简单多边形面积相等,那么其中一个能分割成有限多块多边形,经过平移和旋转,拼合成第二个多边形...
- win7 下的 cmdhere 及其他
- java useragent 360 遨游 火狐_各种浏览器UserAgent一览表(桌面+移动)
- c语言程序女设计教学效果分析,C语言程序设计的教学论文
- 7-Flink的分布式缓存
- 接口类型的数组作为形参
- spring cloud构建互联网分布式微服务云平台-消息总线
- LLVM各种格式转换图
- Android小程序白屏,微信小程序web-view跳转h5 安卓白屏
- IDEA查看Java源码技巧
- 工作学习办公软件助手集合
- android studio 官方虚拟机,Android Studio 移动虚拟机
- 帝国php改密码后登录不进去,帝国cms后台不能登录的解决方法
- 什么是api_什么是API
- 2021年总结 2022年展望
- Android 项目实战:智慧北京(黑马)
热门文章
- 在虚拟机中快速安装 Ubuntu 18.04
- html头文件设置常用之meta设置缓存
- springboot 入门教程(4)--web开发(spring mvc和Thymeleaf模板,带源码)
- python读写csv时中文乱码问题解决办法
- openssl生成自签证书
- 解决VS 于 致命错误 RC1015: 无法打开包含文件 #39;afxres.h#39; 问题
- Java IO (二),常见的输入/输出流
- Linux Xmanager
- 利用Vlan控制与隔离广播风暴
- nginx proxy_next_upstream导致的一个重复提交错误