簡體   English   中英

如何將Codeigniter與MSSQL(SQL Server)連接?

[英]How to connect Codeigniter with MSSQL (SQL Server)?

我的服務器使用Windows Server和MSSQL 2012.雖然我使用OS X(El Capitan)和XAMPP(Apache)for Mac並使用Codeigniter 2.2.0開發網站。

這是我的配置:

$active_group = 'my_mssql';
$active_record = TRUE;

$db['my_mssql']['hostname'] = 'xx.xx.xx.x';
$db['my_mssql']['username'] = 'wow_queue';
$db['my_mssql']['password'] = 'wow12345';
$db['my_mssql']['database'] = 'queue_sys';
$db['my_mssql']['dbdriver'] = 'mssql';
$db['my_mssql']['dbprefix'] = '';
$db['my_mssql']['pconnect'] = TRUE;
$db['my_mssql']['db_debug'] = TRUE;
$db['my_mssql']['cache_on'] = FALSE;
$db['my_mssql']['cachedir'] = '';
$db['my_mssql']['char_set'] = 'utf8';
$db['my_mssql']['dbcollat'] = 'utf8_general_ci';
$db['my_mssql']['swap_pre'] = '';
$db['my_mssql']['autoinit'] = TRUE;
$db['my_mssql']['stricton'] = FALSE;

但結果是:

1
我的設置是錯的嗎?

我只是想能夠連接到該服務器。 有沒有人有任何解決這個問題的建議?

您可能想嘗試odbc驅動程序(PHP中的內置數據庫驅動程序)。 PHP中的Mssql驅動程序不方便。

我使用CI 2.2.0連接到MSSQL 2014數據庫(所有Windows平台)。 我之前也嘗試過使用MSSQL 2012。

$active_group = 'my_mssql';
$active_record = TRUE;

$db['my_mssql']['hostname'] = 'Driver={SQL Server Native Client 11.0};Server=Host\Instance;Database=queue_sys;';
$db['my_mssql']['username'] = 'wow_queue';
$db['my_mssql']['password'] = 'wow12345';
$db['my_mssql']['database'] = '';
$db['my_mssql']['dbdriver'] = 'odbc';
$db['my_mssql']['dbprefix'] = '';
$db['my_mssql']['pconnect'] = FALSE;
$db['my_mssql']['db_debug'] = TRUE;
$db['my_mssql']['cache_on'] = FALSE;
$db['my_mssql']['cachedir'] = '';
$db['my_mssql']['char_set'] = 'utf8';
$db['my_mssql']['dbcollat'] = 'utf8_general_ci';
$db['my_mssql']['swap_pre'] = '';
$db['my_mssql']['autoinit'] = TRUE;
$db['my_mssql']['stricton'] = FALSE;

注意:

SQL Server Native Client 11.0SQL Server Native Client 10.0 ,只需使用這兩個設置。

Server=xx.xx.xx.x通常采用Server=Host\\Instance格式 在此輸入圖像描述

這會對某人有所幫助

有關如何在WampServer中將SQL Server與PHP連接的詳細步驟

第1步)

根據你的php版本下載相應的驅動程序,檢查使用php_info()函數,對我5.6,所以相應的驅動程序是SQLSRV30,可在以下鏈接中找到https://www.microsoft.com/en-us/download/details的.aspx?ID = 20098

步驟2)在C:\\ wamp \\ bin \\ php \\ php5.6.19 \\ ext中提取驅動器,重點放在它們應該存在的以下.dll文件中,否則我們無法連接SQL,這些都是

php_sqlsrv_56_nts.dll和php_sqlsrv_56_ts.dll

步驟3)啟用php.ini中的驅動器,如下所示,可在C:\\ wamp \\ bin \\ apache \\ apache2.4.18 \\ bin中找到,如下所示

extension = php_sqlsrv_56_ts.dll extension = php_sqlsrv_56_nts.dll

步驟4)轉到C:\\ wamp \\ www \\ public \\ system \\ database \\ DB_driver.php中找到的DB_driver.php第96行請用sqlsrv替換mysqli

public $dbdriver = ' mysqli  '; 
 public $dbdriver = 'sqlsrv'; 

步驟5)最后也是最重要的部分,轉到在C:\\ wamp \\ www \\ public \\ application \\ config \\ database.php中找到的database.php文件中的CI數據庫配置相應地調整params ...

$ db ['default'] = array(

'dsn' => '',
'hostname' => 'ip address for sql server,port', // it should be SQL TCP enabled and firewall permitted for SQL port, whether default or custom.
'username' => 'your user name here',
'password' => 'your pwd here',
'database' => 'your db here',
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'autoinit' => TRUE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE

);

快樂的編碼......

該錯誤顯示SQLSRV驅動程序暗示DLL未加載。 檢查你的php_info()SQLSRV驅動程序需要它。 檢查這是一步一步的解決方案

https://futbolsalas15.wordpress.com/2014/02/23/7-steps-to-make-sql-server-and-codeigniter-works/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM