dbms_java.loadjava
メソッドを使用して Oracle RDBMS に jar ファイルをアップロードする必要があります。必要なすべての権限を付与し、以下の機能を正常に実行できました。
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 をアップロードして同じものを使用する必要もあります。Oracle Serverにjarを配置してloadjava
コマンドを実行することで、同じことを正常に実行できました。dbms_java.loadjava
ただし、ローカル システムを使用して同じことを行いたいと考えています。次のクエリを試しています。
call dbms_java.loadjava('–proxy -Dhttp.proxyHost=my_local_system_ip -Dhttp.proxyPort=22 file:///home/Documents/abc.jar');
ただし、 JarCall completed.
のメソッドにアクセスしようとしてエラーが発生したため、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
。提案してください。いくつかの基本が欠けている可能性があります。