今天讲解讲解如何在oracle中 即实现 PLSQL 中调用java 方法。

当这个方式实现了,就可以结合(1)中讲的方法,将matlab实现的算法写到 oracle 数据库中,利用触发器和存储过程自动运行了。。。。

对于JAVA的方法一定要是STATIC的,参数可以有,可以没有,但是PLSQL中的FUNCTION或者PROCUDRE

要和JAVA方法保持一致。

实现方法

1,创建JAVA CLASS

a)对于简单的CLASS,我们可以直接在PLSQL里定议,如下

create or replace and compile java source named “HelloWorld”

as

package com.test;

public class HelloWorld {

public static String sayHello(String name){

System.out.println(“hello::”+ name);

return “hello::”+ name;

}

}

b)第二个方法,就是可以先创建和编译好CLASS,如:

package com.test;

public class HelloWorld {

public static String sayHello(String name){

System.out.println(“hello::”+ name);

return “hello===”+ name;

}

}

然后用oracle提供的loadjava utility把CLASS上传到ORACLE SERVER上(第三方JAR包也可以这样传上去)

可以用dropjava utility把CLASS从SERVER删除

loadjava -user username/pass@ORACLE_SERVER {dir}\HelloWorld.class

如果是远程oracle服务器:

loadjava -user jwfzxt/fz2015@10.18.47.200:1521:ORCL -o -v -f -r C:\Users\guest116\Oracle\Test.class;

此处的.class 文件必须使用javac辨析过得:

远程oracle服务器是否必须安装jdk?不用。并且与客户端机子jdk版本一致,oracle11G必须使用jdk1.5版本的,否则出现以下错误:

正确配置jdk之后,正确显示如下:

2)创建对就的SQL FUNCTION如:

create or replace function HelloWorld(p_name in varchar2)

return varchar2

as

language java name ‘com.test.HelloWorld.sayHello(java.lang.String) return java.lang.String’;

执行成功之后,你可以能过TOAD,发现上传的CLASS在JAVA这个目录里

除了用上面的SQL创建FUNCTION外,我们也可以通过TOAD的快捷方式,如

3)通过select HelloWorld(‘java’) from dual;看看是不是成功了

PS:oracle11g 支持的jdk版本不高,eclipse中编译的时候必须用jdk1.5等版本,eclipse3.5等。oracle如果为64位的,则jdk,eclipse也都为64bit的。

总体结果如下:

oracle matlab函数返回值,如何实现在Oracle中应用存储过程调用MatLab函数(2)相关推荐

  1. C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是

    原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0.在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是不是 ...

  2. select()函数返回值及select与socket阻塞的关系及select函数的意义

    1.select()函数返回值 select的返回值与recv函数的返回值十分类似,都分>0,=0,<0三种情况. >0:有事件发生, FD_ISSET(socket, &f ...

  3. java 11:数组作为函数参数,数组做为函数返回值

    1 数组作为参数 我们可以将数组作为参数,传入到函数中,其实就像我们main函数中 public void main(String [] args){};就是用数组作为函数参数: 又如, [java] ...

  4. Python return函数返回值详解

    Python return函数返回值详解 到目前为止,我们创建的函数都只是对传入的数据进行了处理,处理完了就结束.但实际上,在某些场景中,我们还需函数将处理的结果反馈回来,就好像主管向下级员工下达命令 ...

  5. 函数的返回值,C语言函数返回值详解

    看旋转编码器程序的时候,遇见了一些关于函数返回值的函数,感觉很懵逼,就百度了一下C语言函数调用,感觉写的挺好的, 原链接:http://c.biancheng.net/view/204.html 通常 ...

  6. c语言函数返回值存储,C语言的函数返回值所存放的寄存器

    #include int add(int a, int b) { return a + b; } int asm_compare_one(int a) { _asm { mov edx, a cmp ...

  7. shell 获取函数返回值

    在shell脚本中要获取一个函数的返回值,有两个方法: #! /bin/sh function test() {         echo "test here"         ...

  8. C/C++main函数返回值以及return 0的作用

    C/C++main函数返回值以及return 0的作用 main函数的返回值 main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出.返回其它数字的含义则由系统决定.通常,返回非零 ...

  9. c语言函数返回值类型必须,C++中函数类型与定义的函数返回值类型必须相同么?...

    C++中函数类型与定义的函数返回值类型必须相同么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C++中函数类型与定义 ...

  10. matlab 调用子函数返回值,matlab学习笔记13_1 函数返回值

    一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 函数返回一个值 返回值不必使用return语句,而是直接将需要返回的变 ...

最新文章

  1. java.lang.ClasNotFoundException:Didnt findclass on path:DexPathList[[zip file
  2. windows server 2008 R2上安装MRTG指南
  3. 为什么wait、notify、notifyAll方法定义在Object中而不是Thread类中
  4. UNIX标准化及实现之UNIX标准化、UNIX系统实现、标准和实现的关系以及ISO C标准头文件...
  5. Web前端-Vue.js必备框架(一)
  6. cocos2d- AtlasSprite AtlasSpriteManager
  7. matlab生成点的坐标,根据点的发展坐标,将点的轨迹画出来
  8. 管家婆婆分销ERP V3 打印报错
  9. 网页制作之各种框架简介
  10. oracle数据库报01033,oracle数据库报ORA-01033错误
  11. 中兴捧月算法-切绳子
  12. github-上传本地代码到github仓库
  13. 从python入门机器学习系列--2、Z 检验与 T 检验
  14. Unity 贴图Meta文件的探究
  15. 分割视频的方法有哪些?
  16. 微信小程序 09 前后端交互
  17. 【STM32】实战2—用STM32产生PWM信号驱动舵机MG996R(一)
  18. JVM内存Dump原理与在线分析实战 | 得物技术
  19. Apple Watch开发
  20. 基于matlab的汽车牌照识别研究

热门文章

  1. 华为手机asph啥机型_2020年最值得买大品牌手机盘点:华为vivo等五款机型入围
  2. Oracle中使用SQL语句修改字段类型
  3. ORACLE decode
  4. 探秘中国网购的数据迷城
  5. http长轮询短轮询
  6. jetty client 与apache http client的实现、分析
  7. OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
  8. Sun发布MySQL 5.4 响应速度提升90% ?
  9. 大连理工计算机基础作业2,大工18秋《计算机应用基础》在线测试2答案
  10. 幂次方计算_4.初中数学:怎么求n的m次方的值?幂的运算,单项式相乘,基础常见考试题...