Oracle导入JAR包并调用Java

本文主要内容

经常与Oracle Database打交道,难免会遇到这样一些需求,使用PL/SQL处理起来不是那么方便,而用Java处理起来特别容易。本文主要介绍了Oracle如何调用Java来完成一些特别需求,例如:扩展PL/SQL等。

基础知识

这一节主要是介绍如何把Java源码文件打包成JAR包。熟悉这一步的同志可以直接跳过本节。

源文件内容
/**
 * FileName: Author.java
 * Date: 2014-10-26
 * Version: 1.0
 * /
public class Author {
    private String name;

    public Author(String name) {
        this.name = name;
    }

    public String getAuthorName() {
        return this.name;
    }
}
编译Java文件
> javac Author.java
打包成JAR包
> jar cvf AuthorDemo.jar Author.class

将JAR包导入到Oracle数据库

> loadjava -r -f -o -user username/password@sid AuthorDemo.jar

成功执行完该命令后,在数据库sqlplus执行一下SQL应该可以看到如下图结果。

> select * from user_java_classes;

调用JAR中的方法

创建java source
create or replace and compile java source named demo as
import java.lang.String;
public class SomeAuthor
{
  public static String getName()
  {
    return new Author("John").getAuthorName();
  }
}
封装成PL/SQL函数
create or replace function getAuthorName return varchar2 as
language java name 'SomeAuthor.getName() return java.lang.String';
调用过程
select getAuthorName from dual;


作者:一只有大格局的狗
链接:https://www.jianshu.com/p/4280ac298ded
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值