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 | usingCUBRID.Data.CUBRIDClient;  namespaceSample {     classProcedureSample     {         /* conection string */         /* Please modify before using. */         staticreadonlystring_connString = "server=127.0.0.1;database=demodb;port=33000;user=public;password=";                  /*         * create a new java stored function         */        publicvoidcreate_function()        {            using(CUBRIDConnection conn = newCUBRIDConnection())            {                conn.ConnectionString = ProcedureSample._connString;                conn.Open();                stringsql = "CREATE FUNCTION unit_hello(a int) RETURN int AS LANGUAGE JAVA NAME "+                    "'SpCubrid.SpInt(int) return java.lang.Integer;'";                using(CUBRIDCommand cmd = newCUBRIDCommand(sql, conn))                {                    cmd.ExecuteNonQuery();                }            }        }        /*         * create a new java stored procedure         */        publicvoidcreate_procedure()        {            using(CUBRIDConnection conn = newCUBRIDConnection())            {                conn.ConnectionString = ProcedureSample._connString;                conn.Open();                stringsql = "create PROCEDURE UNIT_PHONE_INFO(name varchar, phoneno varchar)"+                             "as language java name 'SpCubrid.AddPhone(java.lang.String,java.lang.String)';";                using(CUBRIDCommand cmd = newCUBRIDCommand(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 . ... 
随机推荐
- 鸟哥的Linux私房菜之学习shell script
			运行程序的时候一般都是创建一个子程序来执行,所以子程序中的变量什么的在当前的shell下没法使用,但是如果使用source来执行就可以在当前shell下执行程序 shift 1 去掉第一个参数,后面接 ... 
- Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤
			资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在 ... 
- xxxx
			http://www.cnblogs.com/zhuojun/p/5747999.html 
- 时间戳转换成Date
			SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); String date = for ... 
- ServerMediaSession::generateSDPDescription分析
			//顾名思义,就是用来生成sdp描述信息的. char* ServerMediaSession::generateSDPDescription() { //获取本地IP地址 AddressString ... 
- 20145227 《Java程序设计》第7周学习总结
			20145227 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lambda表达式的情 ... 
- java 面试每日一题2
			题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 注:如果想单独输出中文的个数和中文符号的个数,只需把isChinese()中的if语句修改 知识补充: java不像C中拥有s ... 
- 杭电1005-Number Sequence
			问题描述 A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2) ... 
- noi 8465 马走日
			8465:马走日 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 1024kB 描述 马在中国象棋以日字形规则移动. 请编写一段程序,给定n*m大小的棋盘,以及马的初始位置(x,y ... 
- HashTable的实现原理
			转载:http://wiki.jikexueyuan.com/project/java-collection/hashtable.html 概述 和 HashMap 一样,Hashtable 也是一个 ... 
