Yo para conectarme a diferentes Basesdedatos uso esta funcion en el Bootstrap.php:
Código:
protected function _initDatabaseRegistry()
{
//Obtenemos el nombre de la url
$direc = $_SERVER['SERVER_NAME'];
//definimos el nombre de la bd y la tabla
if ($direc == "www.pag.com"){$table_name = 'em_t1'; $db_selection = 'db_es';}
elseif ($direc == "ar.pag.com"){$table_name = 'em_t2'; $db_selection = db_ar';}
elseif ($direc == 'cl.pag.com'){$table_name = 'em_t3'; $db_selection = 'db_cl';}
elseif ($direc == 'co.pag.com'){$table_name = 'em_t4'; $db_selection = 'db_co';}
elseif ($direc == 'mx.pag.com'){$table_name = 'em_t5_mx'; $db_selection = 'db_mx';}
elseif ($direc == 'it.pag.com'){$table_name = 'em_t6_it'; $db_selection = 'db_it';}
elseif ($direc == 'fr.pag.com'){$table_name = 'em_t7_fr'; $db_selection = 'db_fr';}
elseif ($direc == 'uk.pag.com'){$table_name = 'em_t8_uk'; $db_selection = 'db_uk';}
elseif ($direc == 'de.pag.com'){$table_name = 'em_t8_de'; $db_selection = 'db_de';}
elseif ($direc == 'us.pag.com'){$table_name = 'em_t9_us'; $db_selection = 'db_us';}
elseif ($direc == 'in.pag.com'){$table_name = 'em_t10_in'; $db_selection = 'db_in';}
elseif ($direc == 'ij.pag.com'){$table_name = 'em_t11'; $db_selection = 'db_ij';}
// carga de configuracion
$dbconf = $this->getOption($db_selection);
//definimos la tabla de la base de datos
define($table_name, $dbconf->db->table->prefix);
// cargar conexion
$db = new Zend_Db_Adapter_Pdo_Mysql ($dbconf);
// guardar en registro
Zend_Registry::set ( "database", $db );
return $db;
}
Con esto consigo que segun la url que ingrese pueda acceder a una base de datos y su tabla correspondiente.
$db_selection = 'db_es' hacen referencia a las definiciones del application.ini de las bbdd.
$table_name = 'em_t1' lo uso en el modulo unico que tengo para hacer las consultas y que las consultas que uiero hacer son las mismas para todas las bbdd y las estructuras de las tablas son iguales.
Por si a alguien le puede resultar util.