Oracle中可以调用Java的代码,一般通过两种方式进行调用,一个是直接将Java代码写在Oracle内部,另外一种是将编译好的class文件载入到Oracle中。
-A-
1、在SQLPlus中创建Oracle中的Java类与方法(方法必须是静态公有方法)
create or replace and compile java source named hello as
public class Hello {
public static String Message(String name) {
return "Hello, " + name;
}
}
2、创建函数调用载入Oracle中的Java方法。
create or replace function hello (name varchar2)
return varchar2
as
language java name 'Hello.Message(java.lang.String) return java.lang.String';
3、执行函数即可看到结果......
select hello('world!') from dual
-B-
1、创建要调用的Java代码,并编译成Class文件。被调用的方法依旧必须为静态公有方法
public class Number {
public static int getNumber() {
return 99;
}
}
2、用loadjava命令在控制台上将class文件加载到Oracle环境中
loadjava -u sys/sys@orcl -oci8 -verbose -grant scott -synonym -resolve -schema scott D:\Number.class
如果想要卸载已经加载的class的话,使用dropjava命令
dropjava -user sys/sys@orcl Number
如果提示如下信息,表示加载成功()
arguments: '-u' 'sys/sys@orcl' '-oci8' '-verbose' '-grant' 'scott' '-synonym' '-resolve' '-schema' 'scott' 'D:\Number.class'
identical: Number
granting : execute on class SCOTT.Number to scott
skipping : class SCOTT.Number
synonym : SCOTT.Number
Classes Loaded: 1
Resources Loaded: 0
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 1
Errors: 0
3、创建调用方法的方式同A方式的第2步
4、调用方法的方式同A方式的第3步