CUBRID学习笔记 38 net调用java的函数过程
首先要设置java_stored_procedure 为yes 该配置项在cubrid.conf中
书写并编译java代码
public class SpCubrid{
public static String HelloCubrid() { return "Hello, Cubrid !!"; } public static int SpInt(int i) { return i + 1; } public static void outTest(String[] o) { o0 = "Hello, CUBRID"; } }%javac SpCubrid.javacreate function hello() return string
as language javaname 'SpCubrid.HelloCubrid() return java.lang.String';|
2
3
|
call Hello() into :HELLO;call Sp_int(3) into :i;call phone_info('Tom','016-111-1111'); |
下面看个完整的代码
创建java方法
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
using CUBRID.Data.CUBRIDClient; namespace Sample { class ProcedureSample { /* conection string */ /* Please modify before using. */ static readonly string _connString = "server=127.0.0.1;database=demodb;port=33000;user=public;password="; /* * create a new java stored function */ public void create_function() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = ProcedureSample._connString; conn.Open(); string sql = "CREATE FUNCTION unit_hello(a int) RETURN int AS LANGUAGE JAVA NAME " + "'SpCubrid.SpInt(int) return java.lang.Integer;'"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { cmd.ExecuteNonQuery(); } } } /* * create a new java stored procedure */ public void create_procedure() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = ProcedureSample._connString; conn.Open(); string sql = "create PROCEDURE UNIT_PHONE_INFO(name varchar, phoneno varchar)" + "as language java name 'SpCubrid.AddPhone(java.lang.String,java.lang.String)';"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { cmd.ExecuteNonQuery(); } } } } } |
调用
using System.Data;
using CUBRID.Data.CUBRIDClient;namespace Sample{ class ProcedureSample { /* conection string */ /* Please modify before using. */ static readonly string _connString = "server=127.0.0.1;database=demodb;port=33000;user=public;password="; /* * call procedure */ public void call_procedure() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = ProcedureSample._connString; conn.Open(); string sql = "CALL UNIT_PHONE_INFO('Tom', '03556315315');"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { cmd.ExecuteNonQuery(); } } } /* * call function, the function has a return value */ public void call_function() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = ProcedureSample._connString; conn.Open(); string sql = "? = CALL unit_hello(10)"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { cmd.CommandType = CommandType.StoredProcedure; CUBRIDParameter p1 = new CUBRIDParameter("?p1", CUBRIDDataType.CCI_U_TYPE_INT); p1.Direction = ParameterDirection.Output; // output cmd.Parameters.Add(p1); cmd.ExecuteNonQuery(); // do something with p1.value } } } }}删除
using CUBRID.Data.CUBRIDClient;
namespace Sample{ class ProcedureSample { /* conection string */ /* Please modify before using. */ static readonly string _connString = "server=127.0.0.1;database=demodb;port=33000;user=public;password="; /* * drop java stored function */ public void drop_function() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = ProcedureSample._connString; conn.Open(); string sql = "drop function unit_hello"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { cmd.ExecuteNonQuery(); } } } /* * drop java stored procedure */ public void drop_procedure() { using (CUBRIDConnection conn = new CUBRIDConnection()) { conn.ConnectionString = ProcedureSample._connString; conn.Open(); string sql = "DROP PROCEDURE UNIT_PHONE_INF"; using (CUBRIDCommand cmd = new CUBRIDCommand(sql, conn)) { cmd.ExecuteNonQuery(); } } } }}CUBRID学习笔记 38 net调用java的函数过程的更多相关文章
- Web Service学习笔记:动态调用WebService
原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...
- 【Java】「深入理解Java虚拟机」学习笔记(1) - Java语言发展趋势
0.前言 从这篇随笔开始记录Java虚拟机的内容,以前只是对Java的应用,聚焦的是业务,了解的只是语言层面,现在想深入学习一下. 对JVM的学习肯定不是看一遍书就能掌握的,在今后的学习和实践中如果有 ...
- hive 调用java的函数和科学记数法转换
hive中field如果是string,比如id,那么使用10000000000+id结果是科学计数法显示,转换为正常显示方法: select (10000000000+cast(id as int) ...
- MYSQL学习笔记三:日期和时间函数
MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...
- [原创]java WEB学习笔记38:EL 中的 11个 隐含对象 详解
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Java学习笔记(二)——Java操作properties文件
[前面的话] 前段时间在学习和玩java web相关的东西,对于这些技术,一边学习,一边做东西,一边总结,希望可以一边成长和有所收获.有时总是思考太多反而成为了前进的阻力,所以对于生活还是简单一些,不 ...
- CUBRID学习笔记 1 简介 cubrid教程
CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...
- CUBRID学习笔记 48查询优化
cubrid的中sql查询语法 查询优化 c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...
- CUBRID学习笔记 47 show
cubrid的中sql查询语法show c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . ...
随机推荐
- 【转】C#访问权限修饰符
C#访问权限修饰符 C#中类及类型成员修饰符有以下四类:public,private,protected,internal. public 类及类型成员的修饰符 private 类型成员 ...
- eclipse折叠快捷键
之前按代码折叠快捷键的时候发现时而灵时而不灵,今天突然发现了问题所在: 按ctrl+/(小键盘)使代码左边出现折叠标志 然后再按ctrl+shift+/(折叠) , ctrl+shift+*(展开 ...
- vm克隆虚拟机网络配置
*CentOS虚拟机网络连接方式为:桥接模式* 虚拟机克隆后会导致网络连接不上:(引起原因是新的MAC和网卡配置对应不上)问题解决(在克隆机里执行下列步骤): vi /etc/udev/rules.d ...
- oracle sqlloader 用法
向oracle中导入*.csv文件 1.什么是*.csv,如何得到? 里面存放的是数据表.每行代表数据库表格的一行, 每行中,每两个数据中间由逗号","分割. *.csv可以通 ...
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...
- Android studio中设置颜色的状态选择器
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item andro ...
- USB wifi调试笔记
本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中Wi ...
- ZOJ 3861 - Valid Pattern Lock
3861 - Valid Pattern Lock Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & ...
- 覆盖率测试工具gcov的前端工具_LCOV
http://my.oschina.net/alphajay/blog/33725 1.Gcov是进行代码运行的覆盖率统计的工具,它随着gcc的发布一起发布的,它的使用也很简单,需要在编译和链接的时候 ...
- Poj(1466),最大独立集,匈牙利算法
题目链接:http://poj.org/problem?id=1466 Girls and Boys Time Limit: 5000MS Memory Limit: 10000K Total S ...