2012-07-17 85 views
0

我正在開發一個需要連接三個數據庫的項目,一個在MySQL中,另外兩個在MSSQL中。我使用codeigniter作爲框架,並且我可以成功連接到兩個數據庫。但是,當我嘗試連接到第三個MSSQL數據庫時,使用與第二個連接相同的方法,所有以前的連接都沒有了。 database.php中的數據庫配置數組是正確的。使用codeigniter連接到兩個以上的數據庫

默認配置爲MySQL

我連接第二個數據庫如下。

$mssql = $this->load->database('mssql1', TRUE); 

而第三個上進行如下提前

+0

當您只使用1(MySQL)和3(MSSQL)時,它是否正常工作? – Robert 2012-07-17 12:41:48

+0

是的,實際上兩個mssql連接導致了這個問題。除數據庫名稱外都具有相同的憑據。 MySQL +其中一個mssql連接正常工作。但我需要同時連接這三個。 – Abin 2012-07-17 13:04:09

+0

您使用的是哪個版本?我發現了一些與此有關的隨機錯誤並修復了它,但如果我能記住它的位置,我會很詛咒。它可能在3.0(在GitHub上開發)。 – 2012-07-17 13:06:32

回答

0

我通過改變笨DB_driver.php的simple_query功能固定它

$mssq2 = $this->load->database('mssql2', TRUE); 

感謝。

function simple_query($sql) 
{ 
    if (! $this->conn_id) 
    { 
     $this->initialize(); 
    } 
    $this->db_select(); 

    return $this->_execute($sql); 
} 

加入$這 - > db_select();這個功能。 感謝您的幫助