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
oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码相关推荐
- oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助. new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当 ...
- java驱动pl sql优点_用PL/SQL和Java开发Oracle8i应用程序
用PL/SQL和Java开发Oracle8 i应用程序 随着Oracle8i的发布,Oracle 在数据库里支持了二种主要的编程语言??PL/SQL和Java.今天,Oracle的许多客户既使用PL/ ...
- oracle写SQL快捷键,Oracle数据库PL/SQL快捷键设置详解
Oracle数据库中,PL/SQL设置快捷键的方法是本文我们主要要介绍的内容,了解了这些设置可以是我们更效率地使用Oracle数据库,接下来就让我们一起来了解一下这部分内容吧. 1.登录后默认自动选中 ...
- 结束下面sql块_oracle: PL/SQL基本结构,语法,变量
PL/SQL是基于块结构,不论是命名块还是匿名块都由3个部分组成 定义部分:定义常量,变量,游标,基础及复杂数据类型 执行部分:包含要执行的PL/SQL语句,sql语句,实现应用模块功能 异常处理部分 ...
- Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT
Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...
- 用PL/SQL语言编写一程序,实现按部门分段(6000以上、(6000,3000)、3000元以下)统计各工资段的职工人数、以及各部门的工资总额(工资总额中不包括奖金)
用PL/SQL语言编写一程序,实现按部门分段(6000以上.(6000,3000).3000元以下)统计各工资段的职工人数.以及各部门的工资总额(工资总额中不包括奖金) 输出到一张表中 直接输出在屏幕 ...
- Oracle数据库PL/SQL块-存储函数和过程
PL/SQL块 PL/SQL程序由三个块组成,即声明部分.执行部分.异常处理部分 结构如下: declare /*声明部分,在此声明变量,类型及游标*/begin /*执行部分,过程及sql语句, ...
- oracle查询数据都是问号,Oracle数据库PL/SQL Developer查询结果显示问号乱码的解决方法...
PL SQL Developer,查询结果中的中文变成了一堆问号,SQL语句中的中文被提示invalid character,不能识别. 解决方法: 执行,select userenv('langua ...
- oracle if函数变量,Oracle数据库——PL/SQL编程
PL/SQL块基本结构 declare -- 声明部分 begin -- 执行部分 exception -- 异常处理部分 end; 声明部分:包含变量.常量定义,由 declare 关键字开始,如果 ...
最新文章
- 如何防止android app被误删除,如何避免手机清理缓存时误删了重要文件【注意事项】...
- ASP.NET MVC 3: Razor视图引擎中 @: 和text 语法【转载】
- 2017双11技术揭秘—阿里巴巴数据库技术架构演进
- 面向对象、继承、抽象方法重载知识点整理
- tree(2018.10.26)
- Splash args 属性
- 如何利用路由器防止DoS拒绝服务疯狂***
- python中调用shell命令
- WIFI状态下SecoClient链接故障
- qtcpsocket断开_QTcpSocket 对连接服务器中断的不同情况进行判定(六种情况,其中一种使用IsNetworkAlive API方法)...
- 101. 熟悉 Java 并发吗,谈谈对 JUC 线程池 ThreadPoolExecutor 的认识吧
- 九爷带你了解 zabbix 飞信以及机器人报警
- S@Kura的PHP进阶之路(四)
- 基于公开网站挖掘敏感信息的研究与分析- Fofa 搜索
- git学习记录/菜鸟教程(基于Gitcode)
- 双非小伙暑期实习斩获腾讯WXG offer,这不比博人传燃?
- 花2个月时间学习,面华为测开岗要30k,面试官竟说:你不是在....
- 自然语言处理中的数据获取与清洗总结(未更新完)
- PLS系列001 数据预处理
- 小米处理器鲁大师跑分曝光:入门也敢卖2000 元?
热门文章
- python之类与对象(2)
- PHP Zend Studio9.0怎么把代码搞成和服务器端的同步(就是直接在服务器端修改)
- Entity Framework 6 和 MVC5
- java: Comparable比较器,数组对象比较器
- Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 5 days
- group_concat 排序并取前三个
- P2115 [USACO14MAR]破坏Sabotage
- Maven的依赖范围
- 火柴排队(codevs 3286)题解
- 向窗口发送ctrl c复制 消息