首页  ·  知识 ·  编程语言
PLSQL调用Java类
网友    PYTHON  编辑:dezai   图片来源:网络
Oracle有提供一个叫“外部例程”来实现与其他编程语言的访问。例如可以将业务逻辑写在JAVA类中,通PL SQL进行调用,从而实现了逻辑层与数据库分离。
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
 
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读