Мне нужно загрузить файл jar в Oracle СУБД, используя метод dbms_java.loadjava
. Я предоставил все необходимые разрешения и смог успешно выполнить приведенную ниже функцию.
create or replace function get_java_property(prop in varchar2)
return varchar2 is
language java name 'java.lang.System.getProperty(java.lang.String) return java.lang.String';
select get_java_property('java.version') from dual;
1.8.0_231
Однако мне также необходимо загрузить внешний jar-файл и использовать его. Я успешно могу сделать то же самое, поместив jar на Oracle Сервер и выполнив команду loadjava
. Однако я хочу сделать то же самое, используя dbms_java.loadjava
из моей локальной системы. Я пытаюсь выполнить следующий запрос.
call dbms_java.loadjava('–proxy -Dhttp.proxyHost=my_local_system_ip -Dhttp.proxyPort=22 file:///home/Documents/abc.jar');
Возвращается Call completed.
Однако jar не загружен, поскольку я пытался получить доступ к методам в Jar и получаю сообщение об ошибке
ORA-29540: class com/pkg_name/function_name does not exist
29540. 00000 - "class %s does not exist"
*Cause: Java method execution failed to find a class with the indicated name.
*Action: Correct the name or add the missing Java class.
Однако те же методы доступны, когда jar загружен с помощью команды loadjava
. Пожалуйста, предложите. Может быть, мне не хватает некоторых основ.