IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Connexions aux bases de données Oracle Discussion :

Comment faire une requête via double Dblink


Sujet :

Connexions aux bases de données Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Comment faire une requête via double Dblink
    Bonjour,

    j'ai une base B1 qui a un lien vers une base B2 qui a un lien vers une base B3 (B1->B2->B3)
    Est-ce possible de faire une requête select sur la base B3 à partir de la base B1 ?

    Merci de votre aide

  2. #2
    Membre actif
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 234
    Points
    234
    Par défaut
    De B3 à B1, no. De B1 à B3, oui. Mais dans ce cas, pourquoi ne pas créer un lien de B1 à B3 directement?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par yong321 Voir le message
    De B3 à B1, no. De B1 à B3, oui. Mais dans ce cas, pourquoi ne pas créer un lien de B1 à B3 directement?
    Merci yong, Ce ne sont pas mes bases et je n'ai pas le privilège
    peux-tu m'indiquer s'il te plait la syntaxe du select ?
    Exemple : en étant connecté à B1 je veux faire un select * from table3@B3
    J'y arrive bien en étant connecté à B2, mais depuis B1 ça devrait faire un:
    select * from table3@B2@B3 (ça ne marche pas avec les parenthèses)

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Il faut créer un synonyme dans B2 qui pointe sur table3@B3. Tu pourras alors faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM synonym_table3@B2

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par orafrance Voir le message
    Il faut créer un synonyme dans B2 qui pointe sur table3@B3. Tu pourras alors faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM synonym_table3@B2
    Merci pour ton aide, mais je n'ai aucun droit de création sur aucune des bases.
    je pensais qu'un select pouvais suffire. Je me résous donc à contacter le très serviable DBA

  6. #6
    Membre actif
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 234
    Points
    234
    Par défaut
    Citation Envoyé par jindono Voir le message
    Merci pour ton aide, mais je n'ai aucun droit de création sur aucune des bases.
    je pensais qu'un select pouvais suffire. Je me résous donc à contacter le très serviable DBA
    Le DBA peut certainement vous aider. Mais pour l'instant, ce que les privilèges et les rôles avez-vous en B2?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from session_privs;
    select * from session_roles;
    En passant, avez-vous essayé
    en B1 sans DB link? Il peut fonctionner, si le serveur Oracle sur B1 utilise LDAP ou Oracle Names ou tnsmanager pour résoudre les connexions à B3.

    Yong Huang

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par yong321 Voir le message
    Le DBA peut certainement vous aider. Mais pour l'instant, ce que les privilèges et les rôles avez-vous en B2?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from session_privs;
    select * from session_roles;
    En passant, avez-vous essayé
    en B1 sans DB link? Il peut fonctionner, si le serveur Oracle sur B1 utilise LDAP ou Oracle Names ou tnsmanager pour résoudre les connexions à B3.

    Yong Huang
    B2 et B3 sont 2 bases de prod. que je ne veux pas altérer d'un iota, même pour créer un synonyme. D'ailleurs, le DBA m'a créé un DBLink de B1 à B3, même si d'après vous, il n'en avait pas besoin...Bref, "problème" résolu.
    Merci encore pour votre aide

  8. #8
    Membre actif
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 234
    Points
    234
    Par défaut
    Citation Envoyé par jindono Voir le message
    le DBA m'a créé un DBLink de B1 à B3, même si d'après vous, il n'en avait pas besoin.
    Vous pouvez dire à votre DBA que si le serveur Oracle utilise le LDAP ou ONAMES ou tns manager, dans la plupart des cas, vous n'avez même pas besoin de créer un lien base de données pour se connecter à une base de données à distance. Vous pouvez lire

    [Update 2009-05]
    à
    http://yong321.freeshell.org/oranote...OfTnsnames.txt
    ...
    'This "implicit" remote DB name resolution obviates the need to permanently create
    an object in the database, i.e. a DB link, when the identical account exists in both
    databases.'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire une requête de type spatiale
    Par sohm dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/02/2007, 08h50
  2. Comment faire une requête SQL dans un datatable
    Par Passepoil dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/02/2007, 20h24
  3. Comment faire une requête Mysql
    Par Xavier dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/02/2007, 17h07
  4. [BDE] Comment faire une requête sur 2 Ttables ?
    Par dim07 dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/12/2006, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo