oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码

作为JAVA程序员,对ORACLE的javasource一直是想找个机会下手的。呵呵!风高月夜,此时正下手之机。

Oracle有提供一个叫“外部例程”来实现与其他编程语言的访问。例如可以将业务逻辑写在JAVA类中,通PL SQL进行调用,从而实现了逻辑层与数据库分离。

1.0创建java source

create or replace and compile java source named JTest as

public class JTest

{

public static String entry(String s,int i)

{

return "First "+i+" hello"+s;

}

}

1.1创建调用function

create or replace function read_string

(t in varchar2,i number)

return varchar2 is

language java

name ' JTest.entry(java.lang.String,int) return t';

1.2调用测试

SELECT read_string(' world',10) from dual

1.3 如果是已经编译好的class文件,也可通过enterprise manage console,在“方案”下找到“源类型”,右击”java类”,选择”加载java“,选择对应的class文件即可。

2.0上述例子比较简单,下面使用一个读写文件的例子来加强印象。

2.1创建JAVA SOURCE

create or replace and compile java source named JTest2 as

import java.io.*;

public class JTest2

{

public static String readString(String s)

{

return readFile(new File(s));

}

private static String readFile(File file){

int c;

String s = new String();

FileReader inFile;

try{

inFile = new FileReader(file);

while((c= inFile.read()) != -1){

s += (char)c;

}

}catch(IOException ex){

return ex.getMessage();

}

return s;

}

}

2.2创建包装器

create or replace function Hek_JTest2(s in varchar) return varchar

is LANGUAGE JAVA

NAME 'JTest2.readString(java.lang.String) return String' ;

2.3调用测试

select Hek_JTest2('c:\test.txt') from dual

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值