Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/02/2008, 12h54   #1
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
Par défaut acceder a une base de données distante

Bonjour,

je desire developper un trigger qui va automatiquement copier la valeur d'un champs vers un autre champs dans une table appartetant à une base de données distante.
pour cela, dois je travailler avec la database link ?
pour acceder a la base de données distante , a part le nom de cette base nom user et password , ai je besoin de l'adresse ip de la machine distante ou quoi?

merci d'avance
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 13h28   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Un DBLink se connecte comme sqlplus, t'as donc besoin des mêmes infos : user, password, alias de la base paramétré dans le tnsnames.ora ou directement dans le DBLink.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 13h37   #3
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
Merci de m'avoir repondu

au faite , pr me connecter sur une base de données distante , a part le nom de cette derniere , j'aurai besoin de l'adresse ip de la machine non?
parce que j'ai jamais essayé de me connecter sur une BD distante
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 13h45   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
pour configurer le tnsnames t'as besoin au moins du hostname... fait une recherche sur le forum, le sujet a souvent été traité
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 14h23   #5
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Tu dois déclarer un nom de service dans le fichier tnsnames.ora du serveur, c'est dans ce fichier que tu spéficies le nom de la base distante, le port et le serveur ou son adresse IP
Ensuite quand tu crées le dblink, tu dois lui spéficier le nom de service (que tu auras créé) à utiliser
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h13   #6
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
Merci scheu
comment proceder ? je ss perdue la
comment on declare cela dans le tsnames.ora ? t'as pas un exemple qlqs parts ?
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h15   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par zaineb.z Voir le message
t'as pas un exemple qlqs parts ?
normalement sur ton PC pour te connecter à tes bases et sinon le forum
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h19   #8
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
Sur le mien , ya pa de declaration d'une base de données distante , je viens de le verifier
je veux le declarer en specifiant l'adresse IP de la machine distante c'est plus facile je pense
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h22   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
http://download.oracle.com/docs/cd/B...htm#sthref4108
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h28   #10
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
Merci pr la doc , mais ce n'est pas une base de données distribuée
il s'agit d'un prog qui gere une base de données lorsqu'il modifie un certain champ , a l'aide d'un trigger, je veux avoir la meme valeur de ce champs dans un champs appartenant a une table dans une autre base de données
je sais pas si c'est la meme chose..
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h32   #11
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
relis la discussion, réfléchis 2 minutes et retourne dans la doc... j'suis sûr que tu vas comprendre son intérêt pour ton besoin
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h35   #12
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Citation:
Envoyé par zaineb.z Voir le message
Merci pr la doc , mais ce n'est pas une base de données distribuée
il s'agit d'un prog qui gere une base de données lorsqu'il modifie un certain champ , a l'aide d'un trigger, je veux avoir la meme valeur de ce champs dans un champs appartenant a une table dans une autre base de données
je sais pas si c'est la meme chose..
Le lien d'orafrance te servira. En gros il te faut :
1) Créer dans le fichier $ORACLE_HOME/network/admin/tnsnames.ora de ton serveur source l'entrée correspondant à ta base distante sur laquelle tu veux répercuter tes modifs
2) Créer sur ta base source un database link (commande CREATE DATABASE LINK) qui ponte vers ta base distante (en utilisant le nom de service que tu auras créé à l'étape précédente)
3) Créer sur ta base source un trigger qui utilise le database link pour aller modifier sur la base distante
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h54   #13
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
oui , je vois, tu etais bien clair et precis merci
j'avoue que je ss confuse , pas au niveau de ce que t'as expliqué mais surtt au niveau de mon programme..je developpe ce truc pr qu'on le teste ailleurs , donc ya 2 bases de données : la notre ( cette fournie avec le projet ) et la 2eme qui est deja installée auparavant ,
c'est correct de conciderer la 2eme base de données comme bd distante ?
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h01   #14
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par zaineb.z Voir le message
c'est correct de conciderer la 2eme base de données comme bd distante ?
tout à fait. Sur ton serveur tu ajoutes la config TNSNAMES.ORA pour te connecter au serveur distant (comme pour te connecter via SQL*Plus) et après dans la base tu crées le DBLink en utilisant l'alias défini dans TNSNAMES.ORA
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h09   #15
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
okey merci
sinon sur la doc j'ai pas trouvé comment ajouter une entrée dans le tnsnames.ora
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h26   #16
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par zaineb.z Voir le message
j'ai pas trouvé comment ajouter une entrée dans le tnsnames.ora
t'as jamais configuré ça sur ton poste ? C'est un fichier texte, tu fais un copier/coller de ce que tu as déjà et tu changes le SID ou SERVICE_NAME et le HOST en conséquence et voilou
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h38   #17
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
voila ce qu'il ya sur mon poste
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
AXE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = FemmeAcServer)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = AXE)
    )
  )
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_AXE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
 
ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_AXE)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  )
donc je vais travailler avec la premiere declaration ?
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h44   #18
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
pour la dernière fois : recherche dans le forum pour savoir comment configurer ton tnsnames

Essaye d'ajouter un truc du style :
Code :
1
2
3
4
5
6
7
8
SID_DISTANTE=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Server_Distant)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SID_DISTANTE)
    )
  )
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h48   #19
Membre régulier
 
Inscription : juin 2007
Messages : 328
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 328
Points : 78
Points : 78
D'acc , merci bien de ta patience , c'etait gentil de ta part
je vais jeter un coup d'oeil sur le forum , c'est certain , sinon tout est clair maintenant grace a vous

Bonne fin de journée et merci encore
zaineb.z est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h21.


 
 
 
 
Partenaires

Hébergement Web