você pode colocar sua configuração de banco de dados em application/config/database.php como este exemplo:
$active_group = "default";
$active_record = TRUE;
/*MYSQL DB config EXMPALE */
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'username';
$db['default']['password'] = 'pass';
$db['default']['database'] = 'DATABASE_NAME';
$db['default']['dbdriver'] = 'mysqli';
//...
/* MSSQL DB config EXMPALE, note the first param my_mssql */
$db['my_mssql']['hostname'] = 'SQL SERVER IP';
$db['my_mssql']['username'] = 'username';
$db['my_mssql']['password'] = 'pass';
$db['my_mssql']['database'] = 'DATABASE_NAME';
$db['my_mssql']['dbdriver'] = 'mssql';
//...
Note que nós fizemos o grupo padrão é mysql então se você chamar $this->db->..ele usará o grupo padrão db.
para consulta com outra conexão ex. MSSQL você adicionará algo assim em seu modelo
class example_model extends CI_Model
{
var $mssql;
function __construct()
{
parent::__construct();
$this->mssql = $this->load->database ( 'my_mssql', TRUE );
}
function get_some_mssql_rows(){
//use $this->mssql instead of $this->db
$query = $this->mssql->query('select * from mssql_table');
//...
}
function get_some_mysql_rows(){
//use $this->db for default
$query = $this->db->query('select * from mysql_table');
//...
}
}
você pode usar dessa maneira para muitas conexões dbs, como réplica de leitura, por exemplo