+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Invité de passage
    Inscrit en
    mars 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : mars 2011
    Messages : 3
    Points : 0
    Points
    0

    Par défaut jointure des tables de 2 bases de données différentes

    Bonjour tout le monde,

    J'ai la table ville et la table fournisseur de 2 bases différentes, et je veux faire une jointure entre eux.
    J'utilise le framework symfony 1.4 et voici les descriptions de 2 tables dans le schema.yml :


    ville:
    connection: doctrine_local
    actAs:
    Timestampable: ~
    columns:
    nom: { type: string(255) }

    fournisseur :
    connection: doctrine_vente
    actAs:
    Timestampable: ~
    columns:
    nom: { type: string(255) }
    ville_id: { type: integer, notnull: true }
    j'attends vos aides et merci d'avance

  2. #2
    Membre chevronné Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2007
    Messages : 646
    Points : 796
    Points
    796

    Par défaut

    C'est pas vraiment de la magie symfony !!!
    Si tu as 2 bases alors déjà il faut savoir quels sont les serveurs de base de données.

    Ensuite si c'est Mysql, je ne sais pas si il est possible de créé une vue d'une base à l'autre.
    Pour les autres tu crées une vue dans ta base et la tu pourras faire toutes les jointures que tu veux.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : décembre 2004
    Messages : 172
    Points : 243
    Points
    243

    Par défaut

    Bonjour,

    A ma connaissance, il n'est pas possible d'effectuer une jointure avec Mysql sur 2 bases différentes.
    NginX, SphinxSearch Addict !!

  4. #4
    Membre chevronné Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2007
    Messages : 646
    Points : 796
    Points
    796

    Par défaut

    Citation Envoyé par lenono Voir le message
    Bonjour,

    A ma connaissance, il n'est pas possible d'effectuer une jointure avec Mysql sur 2 bases différentes.
    Quelque soit la BDD c'est pas possible tout court.

  5. #5
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 931
    Points
    8 931

    Par défaut

    Citation Envoyé par kenny.kev Voir le message
    Ensuite si c'est Mysql, je ne sais pas si il est possible de créé une vue d'une base à l'autre.
    C'est tout à fait possible. Tu dois juste faire précéder dans le FROM le nom de la table du nom de la base de données.
    Code sql :
    FROM bddExterne.tblExterne
    # Dans la Création, tout est permis mais tout n'est pas utile...

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : décembre 2004
    Messages : 172
    Points : 243
    Points
    243

    Par défaut

    Bonjour rawsrc,

    Je viens de tester, et effectivement cela marche !
    La seule condition visiblement : les 2 bases doivent être sur le même serveur. C'est bien cela ?
    NginX, SphinxSearch Addict !!

  7. #7
    Membre chevronné Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2007
    Messages : 646
    Points : 796
    Points
    796

    Par défaut

    Citation Envoyé par rawsrc Voir le message
    C'est tout à fait possible. Tu dois juste faire précéder dans le FROM le nom de la table du nom de la base de données.
    Code sql :
    Sélectionner tout - Visualiser dans une fenêtre à part
    FROM bddExterne.tblExterne
    Il est possible de créer une vue ou de faire un select ?

  8. #8
    Invité de passage
    Inscrit en
    mars 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : mars 2011
    Messages : 3
    Points : 0
    Points
    0

    Par défaut Merci pour vos réponses

    J'ai oublié de préciser que j'utilise Mysql et les 2 bases de données sont sur le même serveur, je veux décrire la relation entre les 2 tables dans le fichier schema.yml, est ce que c'est possible ?
    Et merci encore pour la discussion

  9. #9
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 931
    Points
    8 931

    Par défaut

    Citation Envoyé par lenono Voir le message
    Bonjour rawsrc,

    Je viens de tester, et effectivement cela marche !
    La seule condition visiblement : les 2 bases doivent être sur le même serveur. C'est bien cela ?
    Oui en faisant simple.
    Sinon si tu veux relier plusieurs serveurs, il faut regarder ici
    Citation Envoyé par kenny.kev Voir le message
    Il est possible de créer une vue ou de faire un select ?
    Les deux sont possibles.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  10. #10
    Membre chevronné Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2007
    Messages : 646
    Points : 796
    Points
    796

    Par défaut

    Si le select est possible c'est quand une grosse faille de sécurité ???

    C'est quand meme pas vraiment conseillé ?

  11. #11
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 931
    Points
    8 931

    Par défaut

    Citation Envoyé par kenny.kev Voir le message
    Si le select est possible c'est quand une grosse faille de sécurité ???

    C'est quand meme pas vraiment conseillé ?
    Comme toujours, ça dépend de l'administrateur.
    Un compte unique pour tout faire pour toutes les bases est tout simplement suicidaire (même s'il est différent de root).
    La règle est simple chaque base à un accès spécifique et pour chaque accès les droits sur les autres bases doivent être soigneusement définis.
    C'est pas du tout dangereux, il faut juste bien baliser ce qui peut être fait de ce qui ne doit pas être possible de faire.
    Bref, c'est le b.a.ba de l'adminsitration de bases de données
    # Dans la Création, tout est permis mais tout n'est pas utile...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •