J'ai un problème que je suis incapable de savoir la raison, ainsi que la solution. J'explique avec l'exemple que j'essaie de tout simplement lire une base à distance avec un trigger. Le problème est du faite qui me met : Table or View not exist. Voici tout les éléments en code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR REPLACE TRIGGER Aj_M_S1 
INSTEAD OF INSERT
ON V_V1_MEMBRE
FOR EACH ROW
declare
	conti varchar2(32);
        conti2 varchar2(32);
Begin
select continent into conti from PAYS where :New.Nompays = NomPays;
select continent into conti2 from PAYS@testsg107662 where :New.Nompays = NomPays;
End;
/
show errors;
Errors for TRIGGER AJ_M_S1:

LINE/COL ERROR
-------- -----------------------------------------------------------------
6/1 PL/SQL: SQL Statement ignored
6/35 PL/SQL: ORA-00942: table or view does not exist

Si j'enlève la ligne contenant le database link PAYS@testsg107662, le trigger marche parfaitement. Toujours dans le même ordinateur, je fais les descriptions des tables pour vérifier mes datalinks.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SQL> desc pays;
 Name                                       Null?                 Type
 ----------------------------------------- -------- ---------------------------- 
NOMPAYS                            NOT NULL        VARCHAR2(32)
 CONTINENT                                                 VARCHAR2(32)
 
SQL> desc pays@testsg107662;
 Name                                      Null?                  Type
 ----------------------------------------- -------- ---------------------------- 
NOMPAYS                           NOT NULL        VARCHAR2(32)
 CONTINENT                                                VARCHAR2(32)
Encore mieux, j'arrive à créer une vue entre ces deux table sans aucun problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
create or replace view v_pays as
SELECT * FROM PAYs union select * from pays@testsg107662;  2
 
View created.
Et aussi, si je tape : select * from pays@testsg107662; il n'a aucun problème, il y a juste un probleme de trigger et je ne vois pas la solution. Les deux tables ont les même valeurs au niveau base de donnée.

Quelqu'un aurait une solution? ca serait sympa... Merci d'avance....