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

SQL Oracle Discussion :

Requête sur 2 schémas différents


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 93
    Points : 47
    Points
    47
    Par défaut Requête sur 2 schémas différents
    Bonjour,

    J'ai 2 schémas "prod" et "dev" qui contiennent des tables similaires. Ces 2 schémas sont sur 2 machines différentes. J'accède à chacun des 2 schémas via une session de Toad.

    Je souhaiterais faire une insertion de valeurs proveneant de certaines tables de "DEV" dans certaines tables de "PROD". Donc je souhaite utiliser quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO PROD.table1 (select * from DEV.table1);"
    Mon problème est que lorsque j'execute la commande suivante à partir de mon schéma "PROD" j'ai déjà une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select * from DEV.table1
    Erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error code ORA-00942 table or view does not exist
    Je rappelle que PROD et DEV sont vraiment sous 2 instances oracles différentes, sur 2 machines bien distinctes.

    Via Toad j'accède bien aux 2 bases individuellement et les select respectifs fonctionnent bien?

    Je pensais que c'était lié aux privilèges et j'ai donc créer le user que j'utilise sous la PROD sur l'instance Oracle de DEV et je lui est donné les droits sur ma table1 mais rien n'y fait. Même erreur.

    Auriez-vous une idée?

    Par avance Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il faut que les 2 bases puissent se voir.
    Utilise un dblink pour se faire.

  3. #3
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Effectivement un DBLINK :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create public database link LK_DEV
    connect to user
    identified by password
    using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.xxx.x.xxx)(PORT = xxxx)))(CONNECT_DATA = (SID = service) (SERVER = DEDICATED)))';
    Le plus simple étant de copier la description dans ton tnsname de façon à en respecter les spécificités syntaxiques.

    Dès lors, il te suffira d'ajouter à chaque nom de table distante de ta clause FROM du SQL dans Prod le dblink de Dev
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO OWNER.TABLE
    SELECT * FROM OWNER.TABLE@LK_DEV

Discussions similaires

  1. Requêtes sur deux bases différentes
    Par tumoo dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/05/2011, 12h36
  2. Vue sur deux schémas différents
    Par arezki76 dans le forum Oracle
    Réponses: 3
    Dernier message: 20/01/2011, 17h06
  3. Requête sur deux BD différentes
    Par ZIED dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/12/2010, 22h19
  4. Réponses: 4
    Dernier message: 05/03/2008, 09h32
  5. [AJAX] requéte sur un domaine différent
    Par remyli dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/08/2006, 14h35

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