Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verbinden von Codeigniter mit MySQL und Oracle in derselben Anwendung

Ich habe mit Oracle und MySQL unter Verwendung von Codeigniter gearbeitet.

Sie haben $this->load->database('oracle',true); verwendet Dies sollte einer Variablen zugewiesen werden, da Sie den zweiten Parameter true.like this

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

Jetzt können Sie diese beiden Variablen für Ihre Abfrage verwenden.Like

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

oder

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

Schließlich sollte Ihr Modell so aussehen (Datenbank nicht auf Ihren Controller laden)

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();
}

Ich hoffe, Sie werden es verstehen. Stellen Sie sicher, dass es sich mit Ihrer Oracle-Datenbank verbindet.

Meine database.php für Oracle war so

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