我有以下的Java方法获取PLS-00258当Java方法创建PL/SQL包装功能
public int GatewayClientPoolHA(String[] DAUTAddresses,
int[] DAUTPortArray,
String sslKeystorePath,
String sslKeystorePass)
(我已经使用loadjava其JAR加载到一个Oracle 11g数据库)现在,我想把这个Java方法包装在PL/SQL函数中,但是我得到了一个PLS-00258错误,下面的代码。我想这是因为数组输入参数?有什么建议么?
CREATE OR REPLACE PACKAGE daut_2fa IS
TYPE daut_addresses_type IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
TYPE daut_port_type IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;
FUNCTION GatewayClientPoolHA (
DAUTAddresses IN daut_addresses_type,
DAUTPortArray IN daut_port_type,
sslKeystorePath IN VARCHAR2,
sslKeystorePass IN VARCHAR2
) RETURN INTEGER;
END daut_2fa;
/
SHOW ERROR
CREATE OR REPLACE PACKAGE BODY daut_2fa IS
FUNCTION GatewayClientPoolHA (
DAUTAddresses IN daut_addresses_type,
DAUTPortArray IN daut_port_type,
sslKeystorePath IN VARCHAR2,
sslKeystorePass IN VARCHAR2
) RETURN INTEGER IS LANGUAGE JAVA
NAME 'daut.GatewayClientPoolHA(java.lang.String[], int[], java.lang.String, java.lang.String) return int';
END daut_2fa;
感谢亚历克斯,非常有帮助的反应 - 你已经超出了。你是正确的,我需要收集索引。但是,我并不完全遵循“对象类型和单个表格”的含义 - 您可以扩展一下吗? –
@JDor - 我已经添加了一个我想要回答的例子。 –
精彩回答!教科书的东西。非常感谢。 –