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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
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