甲骨文加载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。
我想知道是否使用 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。