Pracowałem z Oracle i mysql przy użyciu Codeigniter.
Użyłeś $this->load->database('oracle',true);
powinno to być przypisane do zmiennej, ponieważ użyłeś drugiego parametru true. w ten sposób
$oracle_db=$this->load->database('oracle',true);//connected with oracle
$mysql_db=$this->load->database('default',true);//connected with mysql
Teraz możesz użyć tych dwóch zmiennych w zapytaniu.Lubię to
$oracle_db->get('people')->result();
lub
$mysql_db->get('people')->result();
Więc w końcu twój model powinien wyglądać tak (nie ładuj bazy danych do kontrolera)
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();
}
Mam nadzieję, że zrozumiesz. Upewnij się, że łączy się z bazą danych Oracle.
Mój plik database.php dla Oracle był taki
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YOUR_IP)(PORT = 1521))
)
(CONNECT_DATA =
(SID = YOUR_SID)
)
)
";
$db['oracle']['hostname'] = $tns;