我有以下的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 - 我已經添加了一個我想要回答的例子。 –
精彩回答!教科書的東西。非常感謝。 –