Najpierw upewnij się, że org.apache.commons.codec.language.ColognePhonetic
klasa jest w bazie danych (prawdopodobnie nie będzie).
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_TYPE LIKE '%JAVA%'
AND LOWER( OBJECT_NAME ) LIKE '%colognephonetic%';
Powinien zwrócić wiersz, jeśli istnieje (może wymagać uruchomienia jako uprzywilejowany użytkownik).
Jeśli nie istnieje, będziesz musiał użyć loadjava
aplikacja do załadowania biblioteki jar zawierającej klasy.
Następnie napisz opakowanie, aby utworzyć statyczną funkcję, która sprawi, że instancja klasy (niesprawdzona ):
CREATE JAVA SOURCE NAMED Phonetics AS
import org.apache.commons.codec.language.ColognePhonetic;
public class Phonetics {
public static String encode(
final String text
){
final ColognePhonetic cp = new ColognePhonetic();
return cp.encode( text );
}
}
/
CREATE FUNCTION get_phonetic_string(i_string VARCHAR2) RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'Phonetics.encode( java.lang.String ) return java.lang.String';