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

Requêtes MySQL Discussion :

Comment lier 2 DBs


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par défaut Comment lier 2 DBs
    Bonjour,

    comment faire pour pouvoir utiliser 2 tables qui sont dans 2 bases distinctes dans la meme requete SQL (autrement qu'en le faisant dans le code applicatif), autrement dit je cherche plutot quelque chose à inserer dans le script de creation des bases?

    (user1/pass1)
    Server A Base A table 1

    (user2/pass2)
    Server A Base B table 2

    select * from A, B where A.1.id = A.2.id;

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    des serveurs liés.

    Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select * from serveur1.base1.schema.table inner join serveur2.base1.schema.table on ....

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par défaut
    Merci,

    mais je n'ai pas été complet en fait il y a 3 tables en jeu:

    (user1/pass1)
    Server X Base A table 1 et 2

    (user2/pass2)
    Server X Base B table 3

    select A.1.nom, A.2.poste, B.3.salaire
    from A.1, A.2, B.3
    where A.1.id = B.3.id;


    là le "join" proposé ne s'applique plus je pense.
    Merci

  4. #4
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Par défaut
    Utilise la syntaxe suivante pour définir tes tables vu que tes dbs se trouvent sur le meme serveur:

    dbName.schemaName.table

    Note que cela n'est pas necessaire pour les tables qui sont contenues dans la DB ou la query tourne.

    Tu peux bien entendu aliaser tes tables comme habituellement.




    edit : correction d'orthographe

  5. #5
    Invité
    Invité(e)
    Par défaut
    Si les bases sont dans des instances différentes, utilisez les serveurs liés.

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par défaut
    je dois etre trop debile.....

    ça ne fonctionne pas, ci dessous le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    $cnx2 = mysql_connect($hote, 'miliemilimg', $pwd)
    					or die(mysql_error());
    $ret2 = mysql_select_db("miliemilimg")
    				or die(mysql_error());
     
    $cnx1 = mysql_connect($hote, 'miliemilbijoux', $pwd)
    					or die(mysql_error());
    $ret1 = mysql_select_db("miliemilbijoux")
    				or die(mysql_error());
     
    $req = "SELECT t1.det_nom, t2.img_id, t2.img_thumb_nom, t3.imgth_id
    FROM miliemilbijoux.detail t1, miliemilimg.miliemilimg.image t2, miliemilbijoux.imageth t3
    WHERE t1.det_classe = '".$context."'
    and t2.img_nom = t1.det_nom
    and t3.imgth_nom = t2.img_thumb_nom";
     
    $ret = mysql_query($req) or die(mysql_error());
    L'erreur est la suivante:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.image t2, miliemilbijoux.imageth t3 WHERE t1.det_classe = 'accessoires'.

    Si quelqu'un à une idée, merci d'avance.

Discussions similaires

  1. Comment lier 2 librairies ?
    Par Vroom dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 24/01/2005, 15h39
  2. [Tcl/Tk] Comment lier C à Tcl/Tk ?
    Par jaabouc dans le forum Tcl/Tk
    Réponses: 3
    Dernier message: 28/08/2004, 21h11
  3. Réponses: 6
    Dernier message: 27/05/2004, 10h41
  4. comment lier deux tables?????
    Par baboune dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/03/2004, 14h45

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