Php 编码点火器MSSQL/SQLSRV连接

Php 编码点火器MSSQL/SQLSRV连接,php,sql-server,codeigniter,sqlsrv,Php,Sql Server,Codeigniter,Sqlsrv,我正在开发一个连接到MSSQL数据库的web应用程序。我以前成功地连接到数据库而没有任何问题,但是我对sqlsrv_驱动程序文件做了一个小的更改。我遇到以下错误,将更改回滚到原始文件,但仍然存在问题 我已确保安装了相关MS驱动程序,使用了正确的端口号等,但返回此错误: Unable to connect to your database server using the provided settings. Filename: D:...\system\database\DB_driver.ph

我正在开发一个连接到MSSQL数据库的web应用程序。我以前成功地连接到数据库而没有任何问题,但是我对sqlsrv_驱动程序文件做了一个小的更改。我遇到以下错误,将更改回滚到原始文件,但仍然存在问题

我已确保安装了相关MS驱动程序,使用了正确的端口号等,但返回此错误:

Unable to connect to your database server using the provided settings.
Filename: D:...\system\database\DB_driver.php
Line Number: 124  
除此之外,我还通过sqlsrv_connect函数在codeigniter的外侧建立了连接。这是一个成功的连接,没有错误


为什么会出现此错误?

对于从PHP->SQLSrv的连接,您需要安装以下驱动程序:

a。SQLSRV30.EXE

b

c。sqlncli.msi

并在php.ini文件中添加此行:

extension=php_sqlsrv_54_ts.dll

要从PHP->SQLSrv进行连接,您需要安装以下驱动程序:

a。SQLSRV30.EXE

b

c。sqlncli.msi

并在php.ini文件中添加此行:

extension=php_sqlsrv_54_ts.dll

驱动程序sqlsrv有缺陷。Open/system/database/drivers/sqlsrv/sqlsrv_driver.php

function db_pconnect()
    {
        //$this->db_connect(TRUE);
        return $this->db_connect(TRUE);
    }
要在配置中允许pconnect,请将第89行更改为

如果要正确使用受影响的_行,请将第274行更改为


我在其他地方看到了许多关于如何修复受影响的行的建议,但是如果同时使用sqlsrv进行会话验证,则将“执行”更改为不使用Scrollable将中断存储的会话。

驱动程序sqlsrv有问题。Open/system/database/drivers/sqlsrv/sqlsrv_driver.php

function db_pconnect()
    {
        //$this->db_connect(TRUE);
        return $this->db_connect(TRUE);
    }
要在配置中允许pconnect,请将第89行更改为

如果要正确使用受影响的_行,请将第274行更改为


我在其他地方看到了许多关于如何修复受影响的行的建议,但是如果您同时使用sqlsrv进行会话验证,将“执行”更改为不使用Scrollable将中断存储的会话。

我刚刚解决了这个问题。我正在连接到由microsoft Azure托管的MSSQL

在互联网上进行了几项研究工作后,我遵循的步骤如下:

database.cfg:

$db['default']['hostname'] = 'XXXXXXX.database.windows.net';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'databasename';
$db['default']['dbdriver'] = 'sqlsrv';
$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;
主要是dbdriver、pcconnect和您应该正确配置的主机名。休息是常见的。从azure数据库详细信息中获取主机名

我还修改了几个系统文件,因为我听说DB驱动程序有问题

system/database/drivers/sqlsrv/sqlsrv_driver.php

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

我能够连接到数据库并创建数据库应用程序


希望它能帮助有需要的人:

我刚刚解决了这个问题。我正在连接到由microsoft Azure托管的MSSQL

在互联网上进行了几项研究工作后,我遵循的步骤如下:

database.cfg:

$db['default']['hostname'] = 'XXXXXXX.database.windows.net';
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'databasename';
$db['default']['dbdriver'] = 'sqlsrv';
$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;
主要是dbdriver、pcconnect和您应该正确配置的主机名。休息是常见的。从azure数据库详细信息中获取主机名

我还修改了几个系统文件,因为我听说DB驱动程序有问题

system/database/drivers/sqlsrv/sqlsrv_driver.php

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

我能够连接到数据库并创建数据库应用程序

希望它能帮助有需要的人: