j'ai développé une classe java toute simple(Hello world) qui marche très bien en la lançant avec java. Je l'ai importée dans forms après l'avoir mis dans le classpath et ceci se fait correctement.
Forms me créé les packages sql correspondant.
J'ai importé aussi la classe java.lang.exception pour me permettre de catcher les exceptions java. Ma classe a une méthode getMessage qui retourne un String
Voici le code lors de l'appel de cette classe dans forms
La form compile mais lors de l'exécution j'ai une exception ORA_JAVA.EXCEPTION_THROWN mais lors de l'affichage de cette exception cela plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27 declare a ORA_JAVA.JOBJECT; raisedException ORA_JAVA.JOBJECT; b varchar2(200); begin a:= HelloWorld.new; b:= HelloWorld.getMessage(a); exception --check for ORA-105101 when ORA_JAVA.EXCEPTION_THROWN then raisedException := ORA_JAVA.LAST_EXCEPTION; Message('Java Exception : ' || Exception_.getMessage(raisedException)); ORA_JAVA.CLEAR_EXCEPTION; when others then Message(' Erreur : ' || sqlerrm); end;
je compile mes classes java en jdk 1.3 et mon jinitiator utilise cette meme version. Je soupçonne que le problème soit dû au paramètrage et aux fichiers de config(formsweb.cfg par exemple).
Faut il faire qq chose de spécial lors du paramétrage pour pouvoir exécuter du code java dans forms.
Merci de votre aide
Partager