Oracle中的Java调用

项目中碰到一个特殊情况,部分功能必须通过Java实现,记录一下在Oracle中调用Java的方法。
实时使用的时候要慎重考虑,是否需要这么复杂的方案。

方法一:在PL/SQL中直接写java源代码,适合简单功能的测试,毕竟在PL/SQL中写Java代码还是很麻烦的。

create or replace and compile java source named TestClass as
package com.example;
public class TestClass
{
  public static String getMessage(String message) {
    return message + "...";
  }
}

将java的功能封装成一个函数

create or replace function java_get_messasge(message varchar2)
return varchar2
as language java name
'com.example.TestClass.getMessage(java.lang.String) return java.lang.String';

调用函数

select java_get_messasge('hello') from dual;

在user_objects可以查询到创建的java程序、编译后的CLASS

SELECT * FROM user_objects t
where t.OBJECT_type IN ('JAVA CLASS', 'JAVA SOURCE');

方法二:将java的class文件或jar包导入到数据库中

loadjava -user user/password /path/TestClass2.class

剩下的步骤同方法一

Comments are closed.