Vorweg: Aus der ORA-Doku werde ich einfach nicht schlau und Google konnte mich nicht zu einer Lösung führen.
Mein Wunsch: Ich möchte eine Java-Klasse als Function in SQL zur Verfügung haben. Die Klasse enthält proprietäre Passwortver- und entschlüsselungsmechanismen, womit ich beim Absetzten einer Query u.a. gleich das Passwort klartext sehen möchte. Z.B.
SELECT PW\_DECRYPT(password) FROM persons.
Was muss ich tun bzw. welche Konfigurationen und Voraussetzungen muss meine Datenbank erfüllen?
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED java_functions AS
…
public class java_function {
public static String pw_decrypt(…)
…
dann mit
CREATE OR REPLACE function pw_decrypt(password in varchar2) return varchar2 as
language java name ‚java_function.pw_dcrypt(java.lang.String) return java.lang.String‘;
Danke für die super Erklärung - hat auch auf (fast) Anheib funktioniert.
Nun habe ich das Problem, dass ich in meiner Klasse sehr viele andere Klassen verwende (z.B. import java.util.* und Eigene). Muss ich nun alle anderen Klassen mit ‚loadjava‘ in Oracle laden oder kann ich irgendwie anders darauf zugreifen? Meine Idee war, den Classpath irgendwie zu erweitern - alles was ich gefunden habe war nur zum Thema CLASSPATH als Umgebungsvariable.