Para usar mais de um banco de dados no Codeigniter é muito fácil!
No arquivo config.php você pode configurar vários grupos de banco de dados por exemplo:
$db['default']['dsn'] = ''; $db['default']['hostname'] = 'localhost'; $db['default']['username'] = ''; $db['default']['password'] = ''; $db['default']['database'] = ''; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = FALSE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; $db['default']['failover'] = array(); $db['banco_2']['dsn'] = ''; $db['banco_2']['hostname'] = 'localhost'; $db['banco_2']['username'] = ''; $db['banco_2']['password'] = ''; $db['banco_2']['database'] = ''; $db['banco_2']['dbdriver'] = 'mysql'; $db['banco_2']['dbprefix'] = ''; $db['banco_2']['pconnect'] = FALSE; $db['banco_2']['db_debug'] = TRUE; $db['banco_2']['cache_on'] = FALSE; $db['banco_2']['cachedir'] = ''; $db['banco_2']['char_set'] = 'utf8'; $db['banco_2']['dbcollat'] = 'utf8_general_ci'; $db['banco_2']['swap_pre'] = ''; $db['banco_2']['autoinit'] = TRUE; $db['banco_2']['stricton'] = FALSE; $db['banco_2']['failover'] = array();
O primeiro banco já vai ser carregado normalmente, como você usaria se fosse somente um, para utilizar o segundo é só executar o seguinte código:
$DB1 = $this->load->database('banco_2', TRUE);
E ao invés de usar o código $this->db->query() por exemplo você usária: $DB1->query()
$this->db->query(); $this->db->result(); etc... //Use dessa forma! $DB1->query(); $DB1->result(); etc...