Първо се уверете, че org.apache.commons.codec.language.ColognePhonetic
клас е в базата данни (вероятно няма да бъде).
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_TYPE LIKE '%JAVA%'
AND LOWER( OBJECT_NAME ) LIKE '%colognephonetic%';
Трябва да върне ред, ако съществува (може да се наложи да се стартира като привилегирован потребител).
Ако не съществува, ще трябва да използвате loadjava
приложение за зареждане на jar библиотеката, съдържаща класовете.
След това напишете обвивка, за да създадете статична функция, която прави екземпляр на класа (нетествано ):
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';