0

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

我更改 database.php 配置

$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

我安装本机客户端 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

请帮忙...

4

3 回答 3

2

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

于 2013-10-16T09:03:03.910 回答
2

终于弄明白了,加 die(print_r(sqlsrv_errors(), true)); 在 DB_driver 上阅读错误日志并解决您的问题,对我来说,因为我只安装了 Native Client 10 而 sqlsrv3.0 需要 Native Client 11。

于 2013-10-17T02:46:38.373 回答
1

大约一年前,我遇到了和你一样的麻烦。看看这里的回复,那里的人有一些很好的建议:CodeIgniter MSSQL 连接

@StefenWiranata 抱歉,刚刚注意到您评论的第 2 部分 - 我不记得我在哪里进行了更改,但如果您无法解决问题,我可以在今晚尝试查看。我确信 CI 在 system/database/drivers/odbc/ 中的某个地方的表名周围添加了撇号,很可能是在 odbc_driver.php 文件中。

于 2013-10-16T08:45:13.563 回答