2016-03-17 255 views
1

有一個問題和問題要分享。 所以我試圖將Codeigniter 3.0.5連接到SQL Server。不過,無論我嘗試過什麼,我都會得到這個錯誤。Codeigniter - SQLServer數據庫連接錯誤

A Database Error Occurred 
    Unable to connect to your database server using the provided settings. 
    Filename: core/CodeIgniter.php 
    Line Number: 500 

我的設置是

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

    $db['default'] = array(
     'dsn' => '', 
     'hostname' => 'MYSQLSERVERHOSTNAME', 
     'username' => '',//Empty I dont use any (Windows Auth) 
     'password' => '',//Dont use any 
     'database' => 'MYSQLSERVERDATABASENAME', 
     'dbdriver' => 'sqlsrv', 
     'dbprefix' => '', 
     'pconnect' => FALSE, 
     'db_debug' => (ENVIRONMENT !== 'production'), 
     'cache_on' => FALSE, 
     'cachedir' => '', 
     'char_set' => 'utf8', 
     'dbcollat' => 'utf8_general_ci', 
     'swap_pre' => '', 
     'encrypt' => FALSE, 
     'compress' => FALSE, 
     'stricton' => FALSE, 
     'failover' => array(), 
     'save_queries' => TRUE 
    ); 

我已經設置TCP/IP啓用的,在IPAll增加1433口。重新啓動服務幾次,仍然有這個錯誤。但是,我的其他朋友的計算機可以使用此設置連接到數據庫。 我使用PHP 5.6和SQLSRV32作爲擴展。 有誰知道爲什麼?以及如何檢查CI連接到數據庫的錯誤日誌?

PS:我試着複製我的朋友CI(運行的那個),以防萬一我錯過了某些代碼並刪除了一些行,然後我更改了主機名,但它仍然無效。所以,我的SQL安裝可能有些問題,所以我試圖檢查控制面板中的安裝...但是沒有什麼不同,因爲我們使用相同的安裝。在這裏得到真正的困惑...

非常感謝!

+0

嘗試刪除'username'和'password'字段,而不是隻是清空它們。 –

+0

Hi @FelixPamittan感謝您的回覆。我試圖刪除它,然後重新啓動服務,它仍然無法正常工作。 – albertjtan

回答

0

嘿瀏覽一下後,我建立了爲什麼我無法連接到sqlsrv的問題。我一直缺少odbc 11驅動程序。我知道後,我對代碼配置這條線/ database.php中

$link = sqlsrv_connect('SQLSERVERHOSTNAME'); 

if (!$link) { 
    print_r(sqlsrv_errors()); 
    die(); 
} 

所以是不知何故,我不知道爲什麼我有,因爲當我問我的朋友,他不記得安裝到第一安裝此驅動程序odbc驅動程序11 手動。所以是的,如果你是少數有這個奇怪問題的人之一,試着檢查日誌。謝謝任何幫助嘿嘿:D