Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connexion de codeigniter à mysql et oracle dans la même application

J'ai travaillé avec oracle et mysql en utilisant Codeigniter.

Vous avez utilisé $this->load->database('oracle',true); ceci devrait être assigné à une variable car vous avez utilisé le 2ème paramètre true.like this

$oracle_db=$this->load->database('oracle',true);//connected with oracle
$mysql_db=$this->load->database('default',true);//connected with mysql

Vous pouvez maintenant utiliser ces deux variables pour votre requête.Comme

$oracle_db->get('people')->result();

ou

$mysql_db->get('people')->result();

Donc, finalement, votre modèle devrait ressembler à ceci (ne chargez pas la base de données sur votre contrôleur)

function __construct()//model construct function
{
    parent::__construct();
    $this->oracle_db=$this->load->database('oracle',true);
    $this->mysql_db=$this->load->database('default',true);
}
function getPeople(){
   return $this->oracle_db->get('people')->result();
}

J'espère que vous comprendrez. Assurez-vous qu'il se connecte à votre base de données Oracle.

Ma base de données.php pour oracle était comme ça

$tns = "
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = YOUR_IP)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = YOUR_SID)
    )
  )
       ";
$db['oracle']['hostname'] = $tns;