1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    juillet 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2012
    Messages : 5
    Points : 6
    Points
    6

    Par défaut dblink informix entre 2 databases

    Bonjour,
    j'ai deux bases de données Informix et je veux exécuter une requête pour joindre 2 tables existantes sur les deux bases de données Informix.
    Pour ce faire il me faut que les 2 bases soient linkées, comment peut-on créer un dblink sous Informix entre les deux bases.

    Merci

  2. #2
    Membre averti Avatar de blackstreet
    Inscrit en
    avril 2004
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 304
    Points : 334
    Points
    334

    Par défaut

    Bonjour,

    Pour ce faire, tu dois créer un nouvel alias dans ton fichier sqlhosts qui pointe sur la base de données distante avec les bon paramètres.

    Si tu est dans windows, tu peux le faire dans la base de registre.

  3. #3
    Membre habitué
    Homme Profil pro
    Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Inscrit en
    octobre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 105
    Points : 162
    Points
    162

    Par défaut

    Bonjour,

    il n'y a pas moyen de créer de façon permanante un "dblink" entre 2 bases Informix, c'est la requête sql qui va le faire en dynamique.

    tu as plusieurs manières de faire:

    1) l'autre base de données est dans la même instance, ici l'autre base est base1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.col1,a.col2,b.col1,b.col2
    FROM base1:table1 a, table2 b
    WHERE a.col3 = b.col3
    AND ....
    2) l'autre base est dans une autre instance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a.col1,a.col2,b.col1,b.col2
    FROM base1@instance2:table1 a, table2 b
    WHERE a.col3 = b.col3
    AND ....
    Pour faire des queries multi-base, le deux bases doivent être toutes les deux soit journalisées, soit non journalisées(éventuellement mix entre buffered et non buffered log).

    Pour simplifier le code, et éviter des vilaines choses en dur, tu peux aussi créer un synonyme dans la base 2 pour déclarer que la table1 est en fait dans la base 1

    Dans le cas 2, instance2 doit être connue de l'instance courante, donc il faut effectivement la déclarer dans le fichier sqlhosts:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    instance2            onsoctcp       hostname2       tcp_service_name-ou_port#
    Sinon cela n'est pas nécessaire
    VOila
    En avant!

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/10/2012, 13h34
  2. Connexion entre Informix et Oracle
    Par Paikan92 dans le forum Informix
    Réponses: 1
    Dernier message: 02/09/2006, 13h25
  3. Grant entre 2 databases ???
    Par Sonic dans le forum Oracle
    Réponses: 3
    Dernier message: 12/04/2006, 15h48
  4. [newbeee] différence entre database front-end et backend
    Par mlequim dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 20/01/2006, 13h40
  5. [question] difference entre informix et db2
    Par geoffrey_k dans le forum DB2
    Réponses: 4
    Dernier message: 05/07/2004, 15h11

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