Rechercher : dans
Par :

Trigger appel Fonction Java

Dernière réponse le 15 avr 2008 à 14:24:24 titexe, le 11 avr 2008 à 11:35:07 
 Signaler ce message aux modérateurs

Bonjour,

j'ai crée un trigger qui se déclenche a l'insertion d'une nouvelle ligne dans une table, ce trigger fait appel a une fonction java, dont je voudrais lui passer comme paramètres les données insérées dans les champs de cette nouvelle ligne,

La fonction fdelete ( supression d'un fichier ) :

create or replace FUNCTION fDelete (file IN VARCHAR2) RETURN NUMBER
AS LANGUAGE JAVA
NAME 'JDelete.delete (java.lang.String) return int';

le trigger :

create or replace TRIGGER trigJava
AFTER INSERT ON T4 REFERENCING NEW AS newRow FOR EACH ROW
BEGIN
File := 'c:\'+newRow.b;
DBMS_OUTPUT.PUT_LINE ( fdelete(File));
END trigJava;

y'a toujours une erreur a la création de ce trigger, je veux récuperér la donnée du champ b de la nouvelle ligne, en lui rajoutant 'c:\' pour constituer le fichier a supprimer par la fonction delete,

merci de m'aider a compléter ce trigger,

merci d'avance,

titexe

Configuration: Windows 2003
Firefox 2.0.0.13

Meilleures réponses pour « Trigger appel Fonction Java » dans :
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
Java: Les méthodes VoirLa notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

=[Cvrd]=Tassin, le 11 avr 2008 à 11:42:32

C'est le || la concaténation en SQL et non le + -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

2

titexe, le 11 avr 2008 à 12:10:45

Merci pour votre réponse,

j'ai remplacé le + par ||, mais ca marche toujours pas !!!!

Répondre à titexe

3

=[Cvrd]=Tassin, le 14 avr 2008 à 11:32:53

CREATE OR REPLACE TRIGGER trigjava
   AFTER INSERT
   ON t4
   REFERENCING NEW AS newrow
   FOR EACH ROW
DECLARE
   FILE   VARCHAR2 (30);
BEGIN
   FILE := 'c:\' + :newrow.b;
   DBMS_OUTPUT.put_line (fdelete (FILE));
END trigjava;
-- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

4

titexe, le 14 avr 2008 à 11:45:18

Merci pour votre réponse,

le trigger est bien crée, mais je recois toujours une erreur a l'insertion de la table T4, une erreur d'exécution de trigger :

INSERT INTO "TEST"."T4" (A, B) VALUES ('1', 'test')

One error saving changes to table "TEST"."T4":
Row 7: ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: erreur de conversion des caractères en chiffres
ORA-06512: à "TEST.TRIGJAVA", ligne 1
ORA-04088: erreur lors d'exécution du déclencheur 'TEST.TRIGJAVA'
ORA-06512: à ligne 1

Répondre à titexe

5

=[Cvrd]=Tassin, le 15 avr 2008 à 11:55:25
  • +2

CREATE OR REPLACE TRIGGER trigjava
   AFTER INSERT
   ON t4
   REFERENCING NEW AS newrow
   FOR EACH ROW
DECLARE
   FILE   VARCHAR2 (30);
BEGIN
   FILE := 'c:\' || :newrow.b;
   DBMS_OUTPUT.put_line(FILE);
   DBMS_OUTPUT.put_line (fdelete (FILE));
END trigjava;
-- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

6

titexe, le 15 avr 2008 à 13:07:10

Merci pour votre réactivité, c'est résolu !!

vive CCM

Répondre à titexe

7

 =[Cvrd]=Tassin, le 15 avr 2008 à 14:24:24

De rien ;-) Passe ton post en "résolu" stp. -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin
Collection CommentÇaMarche.net