我知道有幾個問題是類似於這個問題,但不知何故我無法讓它的工作,我一直在四處尋找解決方案,但不幸的是我找不到任:CodeIgniter數據鏈接與MySQL和MSSQL
情況: 我有內置的CodeIgniter框架的Web應用程序,目前它可以節省記錄到它自己的MySQL數據庫(DB1),我還需要創建另一個數據鏈到另一個數據庫是一個MSSQL將作爲我們的分類帳,讓我們調用該數據庫DB2。
我曾嘗試:
$active_group = 'default';
$active_record = TRUE;
$db['MSSQL']['hostname'] = 'xxx.xxx.xxx.xxx\SQLEXPRESS';
$db['MSSQL']['port'] = 1433;
$db['MSSQL']['username'] = 'sa';
$db['MSSQL']['password'] = 'xxxxxxxxxxxxxx';
$db['MSSQL']['database'] = 'DB2';
$db['MSSQL']['dbdriver'] = 'mssql';
$db['MSSQL']['dbprefix'] = '';
$db['MSSQL']['pconnect'] = FALSE;
$db['MSSQL']['db_debug'] = TRUE;
$db['MSSQL']['cache_on'] = FALSE;
$db['MSSQL']['cachedir'] = '';
$db['MSSQL']['char_set'] = 'utf8';
$db['MSSQL']['dbcollat'] = 'utf8_general_ci';
$db['MSSQL']['swap_pre'] = '';
$db['MSSQL']['autoinit'] = TRUE;
$db['MSSQL']['stricton'] = FALSE;
$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'DB1';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
我可以訪問並獲得使用這種從DB1記錄型號:
class Transaction_model extends CI_Model{
function __construct(){
parent::__construct();}
public function get_transaction(){
$default_db = $this->load->database('default',TRUE);
$qry_res = $default_db->query("CALL sp_view_transaction()");
$res = $qry_res->result();
$qry_res->next_result();
$qry_res->free_result();
$return $res;
class Transaction extends My_Controller{
public function index(){
parent::__construct();}
public function get_transaction(){
$this->load->model('transaction_model');
$result = $this->transaction_model->get_transaction();
print_r($result);
但問題開始時我試圖運行存儲發生程序爲MSSQL: 控制器: $ this-> load-> model('transaction_model'); $ result = $ this-> transaction_model-> MSQL_Transaction(); $ print_r($ result);
Model:
Public function MSQL_Transaction(){
$db = $this->load->database('MSSQL',TRUE);
$qry = $db->query("EXEC sp_view_list 1");
$res = $qry->result();
$qry->next_result();
$qry->free_result();
return $res;
任何人都可以給我建議我應該做什麼?當我成功在DB1中插入一條記錄時,我需要對DB2進行更新。到目前爲止它只返回沒有顯示任何錯誤的空白網頁。非常感謝你提前。我只是顯示選擇查詢因爲我覺得它最容易理解,如果任何人都可以給我一個樣本,應該怎麼做,它會真的幫助很多。
歡呼聲。
現在的SQL Server與SQLSRV連接,嘗試此頁的說明http://php.net/manual/en/book。 sqlsrv.php – Sundar
http://www.php.net/manual/en/intro.mssql.php mssql在PHP5.3上不可用 – Sundar