Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-05-2012 15:21:16

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

[RESOLU][ZEND_MULTIDB] Pas de connexion à ma base distante

Bonjour,

J'ai suivi l'excellent article de Jeroen Keppens, pour mettre en place une connexion multidb sur mon site.
Mais mon second adapter, le remote, n'est absolument pas chargé...
Zend va chercher ma table distante dans mon serveur mysql local (qui est mon local adapter), au lieu d'essayer de se connecter à mon serveur distant, sur le même réseau que ma machine de dev.

Je me creuse la tête, mais ne comprends pas ce qui ne va pas.

Voici mon application.ini:

Code:

; Databases :
resources.multidb.local.adapter         = "pdo_mysql"
resources.multidb.local.host         = "localhost"
resources.multidb.local.username     = "root"
resources.multidb.local.password     = ""
resources.multidb.local.dbname         = "bdd_local"
resources.multidb.local.default         = true

resources.multidb.remote.adapter     = "pdo_mysql"
resources.multidb.remote.host         = "192.168.0.200"
resources.multidb.remote.username     = "root"
resources.multidb.remote.password     = "********"
resources.multidb.remote.dbname     = "bdd_distant"
resources.multidb.remote.default     = false

Mon Bootstrap :

Code:

[lang=php]/**
     * Add databases to the registry
     * 
     * @return void
     */
    public function _initDatabaseRegistry(){
        $this->bootstrap('multidb');
        $multidb = $this->getPluginResource('multidb');
        Zend_Registry::set('db', $multidb->getDb('local'));
        Zend_Registry::set('db_remote', $multidb->getDb('remote'));
    }

Et ma table qui est sur mon serveur distant :

Code:

[lang=php]class App_Model_DbTables_Myjag_MyjagMarquesTable extends Zend_Db_Table_Abstract{

    # DECLARE VARS>
        protected $_name        = 'marques';
        protected $_schema          = 'myjag';
        protected $_adapter         = 'db2';
        protected $_primary        = 'ID_MARQUE';
        protected $_rowClass        = 'App_Model_DbTables_Myjag_MyjagMarquesRow';
    # <DECLARE VARS

Vraiment, je ne vois pas...
Help please hmm

Dernière modification par delorbe (13-05-2012 21:02:10)

Hors ligne

 

#2 13-05-2012 21:01:29

delorbe
Membre
Date d'inscription: 06-08-2010
Messages: 57

Re: [RESOLU][ZEND_MULTIDB] Pas de connexion à ma base distante

Ok, après plusieurs jours de recherches, j'ai trouvé la réponse ici. Le monde est petit smile

Je ne comprends pas pourquoi, mais la classe Zend_Db_Table_Abstract ne supporte actuellement pas le multidb.
Il faut lui ajouter :

Code:

[lang=php]$this->_db = Zend_Registry::get($this->_adapter);

Maintenant ça fonctionne hmm

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages