我想知道是否使用loadjava加载Java包JSch.jar在Oracle数据库中,然后加载另一个.java文件,该文件利用JSch包通过SSH连接,将能够通过函数或过程在Oracle数据库中执行。
我在尝试之前问这个问题,因为我需要联系DBA尝试加载所有内容。我想确保它是可行的,因为我不是很熟练的java到目前为止,不知道是否有些事情是不可能的,或者如果它只是需要修复。
谢谢。
是
使用如下格式:
loadjava -user USERNAME/PASSWORD@SID JSch.jar
然后创建一个静态类方法,使用从Jar文件加载的类:
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的更详细的示例。