CI连接到SQL SERVER

时间:2013-10-16 06:29:33

标签: php sql-server database codeigniter sqlsrv

我想连接到sql server我的php版本是5.4,我有MS SQL Server 2008 R2,我使用PHP Codeigniger 2.1.4 我使用sqlsrv30.exe 我使用XAMPP 1.8.2

我更改了database.php config

$db['default']['hostname'] = '192.168.5.208';
$db['default']['username'] = 'xxx';
$db['default']['password'] = 'xxx';
$db['default']['database'] = 'xxx';
$db['default']['dbdriver'] = 'sqlsrv';
$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;

我下载了sqlsrv30.exe。将它安装在php / ext

我在php.ini文件中添加以下内容:

extension=php_sqlsrv_54_ts.dll

我安装Native Client 10

我将文件夹database-driver-sqlsrv中的sqlsrv_driver.php更改为

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

我也尝试添加

db['default']['port'] = 1433;

但它仍然无效。我总是遇到ff。错误:

A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: C:\xampp\htdocs\HRM\system\database\DB_driver.php
Line Number: 124

请帮忙......

3 个答案:

答案 0 :(得分:2)

我的mysql在同一行中遇到了同样的问题,我搜索了很多。它可能是您的“端口”或“自动发送”。但我终于解决了服务器中的一些问题。所以检查你的服务器是另一种方式。

答案 1 :(得分:2)

最后算出来,添加die(print_r(sqlsrv_errors(),true));在DB_driver上读取错误日志并解决您的问题,因为我只是安装了Native Client 10而sqlsrv3.0需要Native Client 11。

答案 2 :(得分:1)

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

@StefenWiranata对不起,刚刚注意到你评论的第2部分 - 我不记得我在哪里做了改变,但如果你不能解决它,我今晚可以试着看看。我确信CI在系统/数据库/ drivers / odbc /中的某个地方的表名周围添加了撇号,很可能是在odbc_driver.php文件中。