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

Symfony PHP Discussion :

Connexion multiple BDD dynamiquement


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par défaut Connexion multiple BDD dynamiquement
    Bonjour,

    Je suis sous symfony 1.4 et je cherche un moyen simple pour modifier dynamiquement les paramètres de connexions à la base de données. Je m'explique, je vais chercher dans une base de données le client et en fonction de ce client je vais chercher dans sa base qui lui est propre toutes les infos.
    Je pense savoir comment faire en créant une instance à chaque requête mais cela m'obligerai à modifier tous mes modèles! D'où ma demande s'il y avait un moyen simple de modifier le paramètre de connexion doctrine..

    Merci pour votre aide!

  2. #2
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Par défaut
    Dans ton application tu possède tous les schémas de tes base de données ?
    il est effectivement possible de créer différentes connexions à tes bases de données via doctrine, dans ton database.yml exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    all:
     doctrine:
       class: sfDoctrineDatabase
       param:
         dsn: 'mysql:host=localhost;dbname=base1'
         username: root
         password: null
     doctrineBis:
       class: sfDoctrineDatabase
       param:
         dsn: 'mysql:host=localhost;dbname=base2'
         username: root
         password: null

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par défaut
    Merci pour votre réponse cependant j'utilise déjà cette méthode pour différencier l'environnement de dev et prod mais cela ne permet pas de faire des connexions dynamiquement. En effet les informations sont en dures or je veux récupérer des informations de connexion dans une base pour me connecter à une autre.
    J'ai contourné la solution en récupérant un paramètre de connexion que je met en session et que j'utilise pour chaque requête ensuite de cette façon : Doctrine_Manager::connection($connection).

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Tu peux faire un storage dans le fichier de conf shema: voir ici

    Dans ce cas tu pourras définir de nouvelles connections à partir de ta base de données.

  5. #5
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Citation Envoyé par skort93 Voir le message
    Merci pour votre réponse cependant j'utilise déjà cette méthode pour différencier l'environnement de dev et prod mais cela ne permet pas de faire des connexions dynamiquement. En effet les informations sont en dures or je veux récupérer des informations de connexion dans une base pour me connecter à une autre.
    J'ai contourné la solution en récupérant un paramètre de connexion que je met en session et que j'utilise pour chaque requête ensuite de cette façon : Doctrine_Manager::connection($connection).
    Une Question : Est-ce vraiment utile et performant de faire une connexion à une base pour ensuite ce connecter à une autre alors que le fichier database.yml te permet de gérer de la multi-connexion ?

Discussions similaires

  1. [ODBC] connexion à differentes BDD avec php et ODBC
    Par tigunn dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/12/2009, 12h17
  2. connexion à une bdd mysql en asp
    Par asetti dans le forum ASP
    Réponses: 3
    Dernier message: 31/10/2005, 18h31
  3. [Applet][MySQL] connexion à une BDD
    Par Michel38 dans le forum JDBC
    Réponses: 19
    Dernier message: 20/07/2005, 14h59
  4. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22

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