Bonjour et merci d'avance,
Voila j'ai une table "Client" qui se trouve répartie (le même schéma) sur 3 postes reliés par un réseau local filaire, et j'ai deux dblink POSTE1 et POSTE2 la troisième table étant sur mon poste local
Client, Client@POSTE1, Client@POSTE2
Je veut réaliser les procédures SELECT, UPDATE, INSERT, DELETE de la manière la transparente possible sur les trois postes,
Je suis très débutant en oracle, bon voila mon soucis est que il arrive dans la journée que l'un des trois postes soit indisponible pour un certain moment, et j'aimerai gérer cela sans répliquer les données pour le moment,
Pour simplifier disant que j'ai deux tables réparties sur les trois postes:
Client (Numclient, Numposte, Nom, Prenom); Clé primaire Numclient et Numposte
Achat(Numachat, Numposte, Numclient, Date, Montant); Clé primaire Numachat et clé étrangère Numposte et Numclient
Je commence par le SELECT et le INSERT:
INSERT: insère une ligne dans la table se trouvant dans le poste local, comme exemple mon POSTE est le Numéro 3:
SELECT: j'ai créer une vue CLIENTS:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 create procedure NewClient(Nom in varchar,Prenom in varchar) as id integer; begin SELECT client_numclient_seq.nextval into id FROM DUAL; INSERT INTO CLIENT VALUES (id, 3, Nom, Prenom); end;
et je met:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE VIEW CLIENTS as (SELECT * from CLIENT) UNION (SELECT * from CLIENT@POSTE1) UNION (SELECT * from CLIENT@POSTE2);
Le problème est que si l'un des postes poste 1 ou poste 2 est indisponible ou éteint j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM CLIENTS;
et moi je voudrais avoir une procédure à la place par exemple,ERROR at line 1:
ORA-02068: following severe error from POST1
ORA-03113: end-of-file on communication channel
la liste des clients se trouvant dans mon POSTE+POSTE2
+ un message d'erreur "Attention données incomplètes! POSTE2 indisponible"
C'est à dire avoir quand même des résultats en ignorant l'exception et la remplaçant par un message personalisé pour POSTE1 et POSTE2 ou les deux en même temps
S'il y a quelqu'un pour m'aider à faire cela sa serait sympa, merci d'avance
Partager