2015-05-29 173 views
2

簡單的問題。使用Codeigniter 2.x.x時,我無法連接到MS SQLServer數據庫。我現在已經升級到笨3,我得到這個錯誤:Codeigniter 3未連接到sqlserver數據庫

A Database Error Occurred 

Unable to set client connection character set: utf8 

Filename: core/CodeIgniter.php 

Line Number: 500 

這裏是我的database.php中的配置文件:

笨爲2.xx - >它的工作原理

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = 'XXX'; 
$db['default']['username'] = 'XXX'; 
$db['default']['password'] = 'XXX'; 
$db['default']['database'] = 'XXX'; 
$db['default']['dbdriver'] = 'mssql'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = FALSE; 
$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; 

Codeigniter 3 - > error

$active_group = 'default'; 
$query_builder = TRUE; 

    $db['default'] = array(
     'dsn' => '', 
     'hostname' => 'XXX', 
     'username' => 'XXX', 
     'password' => 'XXX', 
     'database' => 'XXX', 
     'dbdriver' => 'mssql', 
     'dbprefix' => '', 
     'pconnect' => FALSE, 
     'db_debug' => TRUE, 
     'cache_on' => FALSE, 
     'cachedir' => '', 
     'char_set' => 'utf8', 
     'dbcollat' => 'utf8_general_ci', 
     'swap_pre' => '', 
     'encrypt' => FALSE, 
     'compress' => FALSE, 
     'stricton' => FALSE, 
     'failover' => array(), 
     'save_queries' => TRUE 
    ); 

有什麼想法?謝謝。

進一步的測試包括使用SQLSRV驅動程序,但我得到這個錯誤:

A PHP Error was encountered 

Severity: Runtime Notice 

Message: Declaration of CI_DB_sqlsrv_driver::_limit() should be compatible with that of CI_DB_query_builder::_limit() 

Filename: sqlsrv/sqlsrv_driver.php 

Line Number: 459 

A PHP Error was encountered 

Severity: Runtime Notice 

Message: Declaration of CI_DB_sqlsrv_driver::_delete() should be compatible with that of CI_DB_query_builder::_delete() 

Filename: sqlsrv/sqlsrv_driver.php 

Line Number: 459 

A PHP Error was encountered 

Severity: Runtime Notice 

Message: Declaration of CI_DB_sqlsrv_driver::_update() should be compatible with that of CI_DB_driver::_update() 

Filename: sqlsrv/sqlsrv_driver.php 

Line Number: 459 

回答

1

我落得這樣做:

$active_group = 'default'; 
$query_builder = TRUE; 

$db['default'] = array(
    'dsn' => 'Driver={SQL Server Native Client 10.0};Server=XXX.XX.XXX.XXX;Database=myDataBaseName;', 
    'hostname' => '', 
    'username' => 'XXX', 
    'password' => 'XXX', 
    'database' => '', 
    'dbdriver' => 'odbc', 
    'dbprefix' => '', 
    'pconnect' => FALSE, 
    'db_debug' => TRUE, 
    'cache_on' => FALSE, 
    'cachedir' => '', 
    'char_set' => 'utf8', 
    'dbcollat' => 'utf8_general_ci', 
    'swap_pre' => '', 
    'encrypt' => FALSE, 
    'compress' => FALSE, 
    'stricton' => FALSE, 
    'failover' => array(), 
    'save_queries' => TRUE 
); 

它完美的作品。無論如何感謝提示。