ORA-29532: appel Java arrêté par une exception Java non interceptée : java.lang.NoClassDefFoundError
Bonjour,
J'ai crée une procédure stockée faisant appel à du code Java. Le problème est que lors de l'exécution PL/SQL, le message d'erreur suivant apparaît :
Citation:
ORA-29532: appel Java arrêté par une exception Java non interceptée : java.lang.NoClassDefFoundError
Le bout de code en question est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "HASH_SHA1"
AS package pg_hash_sha1;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.xml.security.utils.Base64;
public class hash {
public static String sha1 (String passwdClair)
{
byte[] uniqueKey = passwdClair.getBytes();
byte[] hash = null;
try
{
// on récupère un objet qui permettra de crypter la chaine
hash = MessageDigest.getInstance("SHA-1").digest(uniqueKey);
} catch (NoSuchAlgorithmException e) {
throw new Error("no SHA-1 support in this VM");
}
String buffer = Base64.encode(hash);
return buffer;
}
};
/ |
Code:
1 2 3 4 5 6
| CREATE OR REPLACE FUNCTION hash_blog(p_content varchar2) RETURN varchar2
AS LANGUAGE JAVA
NAME 'pg_hash_sha1.hash.sha1(java.lang.String) return java.lang.String';
/
SELECT hash_blog('4238960308960013') FROM dual; |
Avez-vous une idée pour résoudre cette erreur ? :roll:
Merci par avance