有两种方案:
schema_onefunctions.fn_run_java_wrap
schema_twojava_sources.java_code
是否可以从另一个模式包装 Java 方法?
像这样尝试:
create or replace function schema_one.fn_run_java_wrap(
p_one in varchar2, p_two in varchar2, p_three in varchar2) return clob
AS LANGUAGE JAVA NAME 'schema_two.java_code.method(
java.lang.String, java.lang.String, java.lang.String) return Clob';
但是我得到一个错误,这样的类shema_two/java_code不存在。
我究竟做错了什么?
还有其他方法可以从另一个模式运行 java 代码吗?
不,您不能:
schema_two.java_code.method,名称解析不适用于类。如定义调用规范子章节所述:
或者将 Java 方法包装在同一个模式中,并授予其他模式不执行的权限。或者创建一个公共同义词,如这个可重现的示例: