Codeigniter:如何设置与SQL Server的连接(2008)

时间:2013-10-17 15:50:48

标签: php sql-server sql-server-2008 codeigniter sqlsrv

我花了很多天才完成这项任务,直到现在我才看到结局。在过去的一天里,我成功地在我的PHP环境中成功安装了sqlsrv驱动程序,但是现在当我尝试连接时,我收到了这样的消息:

  

无法使用提供的设置连接到数据库服务器。

application/config/database.php中的我的设置是如此定义的:

$db['dbname']['hostname'] = "ENJ01\SQLEXPRESS";
$db['dbname']['username'] = "user";
$db['dbname']['password'] = "password";
$db['dbname']['database'] = "dbname";
$db['dbname']['dbdriver'] = "sqlsrv";
$db['dbname']['dbprefix'] = "";
$db['dbname']['pconnect'] = TRUE;
$db['dbname']['db_debug'] = TRUE;
$db['dbname']['cache_on'] = FALSE;
$db['dbname']['cachedir'] = "";
$db['dbname']['char_set'] = "utf8";
$db['dbname']['dbcollat'] = "utf8_general_ci";
$db['dbname']['swap_pre'] = '';
$db['dbname']['autoinit'] = TRUE;
$db['dbname']['stricton'] = FALSE;

出了什么问题?

这是我的环境配置:

  • wampserver 2.4 x86
  • PHP 5.4.16
  • sqlsrv driver - > php_sqlsrv_54_ts.dll
  • Codeigniter 2.1.4

4 个答案:

答案 0 :(得分:2)

我在一年前遇到过同样的麻烦。看看这里的回复,那里有一些很棒的建议:CodeIgniter MSSQL connection

此外,几天前在这里发布了一个帖子:CI connect to SQL SERVER - 在那里查看我的答案,因为它解决了该特定开发人员的问题。

答案 1 :(得分:0)

我会写评论,但我还没有所需的声誉。反正...

我注意到您的主机名'ENJ01 \ SQLEXPRESS',您是否尝试过使用'localhost'?

另外,尝试将端口设置为1433,$ db ['dbname'] ['port'] = 1433;

答案 2 :(得分:0)

我通过设置

解决了同样的问题

$ db ['default'] ['pconnect'] = FALSE;

答案 3 :(得分:0)

请 1. $db['default']['pconnect'] = FALSE;。 然后转到system/database/drivers/sqlsrv/sqlsrv_driver.php

function db_pconnect()
    {
        //$this->db_connect(TRUE);
        return $this->db_connect(TRUE);
    }

function affected_rows()
{
    //return @sqlrv_rows_affected($this->conn_id);
    return @sqlsrv_num_rows($this->result_id);
}