甲骨文加载java JSch

Oracle loadjava JSch

我想知道是否使用 loadjava 加载名为 JSch.jar[=18= 的 Java 包] 在 Oracle 数据库中,然后加载另一个 .java 文件,该文件利用 JSch 包通过 SSH 连接,将能够通过函数或过程在 Oracle 数据库中执行。

我在尝试之前问过这个问题,因为我需要联系 DBA 来尝试加载所有内容。我想确保它是可行的,因为我在 java 方面还不是很熟练,并且不知道是不可能的还是只是需要修复。

谢谢。

使用类似于:

loadjava -user USERNAME/PASSWORD@SID JSch.jar

然后创建一个静态 class 方法,它使用从 Jar 文件加载的 classes:

CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED MyJavaSource AS
import org.millea9805.jsch.JSchSomething;

public class MyClass {
    public static String function_name()
    {
        JSchSomething.doSomething();
        return "Something";
    }
}
/

然后您可以围绕静态 Java 方法创建一个 PL/SQL 包装器:

CREATE OR REPLACE FUNCTION DO_SOMETHING()
RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'MyClass.function_name() return java.lang.String';
/

使用 XZ 库解压缩 BLOB 的更详细示例是 here