Trigger invalide - PLS-00302
Bonjour,
J'ai un problème avec un trigger invalide.
L'erreur indiquée est PLS-00302 Le composant 'PACKAGE_SCH2' doit être déclaré;
le schéma du trigger (schema1) est différent du schéma dans lequel se trouve la procédure de package (schema2) appelée dans le trigger.
L'erreur ressemble à un problème de privilèges mais schema1 a le droit d'executer PACKAGE_ SCH2.
Je ne comprend pas pourquoi j'ai cette erreur.
Voici le trigger :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| CREATE or REPLACE TRIGGER SCHEMA1.TRIG_SCH1
AFTER UPDATE
OF
cola,colb,colc,cold,cole,colf,colg,colh,coli,
colj,colk,coll,colm,coln,colo
ON SCHEMA3.TBL_SCH3
FOR EACH ROW
WHEN (new.colp in ('I','S','P'))
DECLARE
nom_utilisateur VARCHAR2(40);
BEGIN
SELECT user into nom_utilisateur from dual ;
SCHEMA2.PACKAGE_SCH2.PROCEDURE_PCKG_SCH2('P','U',:new.id_usager,nom_utilisateur);
END; |
Et voici la procédure appelée dans le trigger
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| PROCEDURE PROCEDURE_PCKG_SCH2
(
param1 SCHEMA2.TABLE_SCH2.col3%type,
param2 SCHEMA2.TABLE_SCH2.col4%type,
param3 SCHEMA2.TABLE_SCH2.col5%type,
param4 SCHEMA2.TABLE_SCH2.col6%type
) IS
BEGIN
insert into SCHEMA2.TABLE_SCH2
(col1, col2, col3, col4 ,col5 ,col6)
values
(SCHEMA2.seq_sch2.nextval,SYSDATE, param1, param2, RTRIM(LTRIM(param3)) , param4);
END PROCEDURE_PCKG_SCH2; |
A noter que je suis en oracle 10g, Windows server 2003 et que ça marche en oracle 8.0.5, Windows 2000 server.
Quels droits manqueraient-ils ?
Merci de bien vouloir m'aider.
dbfm78