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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞