0

我正在尝试使用 CodeIgniter 连接到 SQL 服务器。如果我使用 sqlsrv 驱动程序 - 我会收到一条致命错误消息,如果我使用 odbc 驱动程序 - 我会收到“无法使用提供的设置错误消息连接到您的数据库服务器”。有谁知道如何解决这个问题???我不介意怎么做,我只是想让 Codeigniter 连接到 SQL Server 数据库。

这是数据库配置文件

$db['otherdb']['hostname'] = '195.234.10.55\SQLEXPRESS';
$db['otherdb']['username'] = 'username';
$db['otherdb']['password'] = 'password';
$db['otherdb']['database'] = 'ONEDB';
$db['otherdb']['dbdriver'] = 'odbc'; // Done this in both ODBC and SQLSRV
$db['otherdb']['dbprefix'] = '';
$db['otherdb']['pconnect'] = TRUE;
$db['otherdb']['db_debug'] = TRUE;
$db['otherdb']['cache_on'] = FALSE;
$db['otherdb']['cachedir'] = '';
$db['otherdb']['char_set'] = 'utf8';
$db['otherdb']['dbcollat'] = 'utf8_general_ci';
$db['otherdb']['swap_pre'] = '';
$db['otherdb']['autoinit'] = TRUE;
$db['otherdb']['stricton'] = FALSE;

谢谢

4

1 回答 1

0

(并不是要复活一个旧帖子,但以防万一其他人正在寻找答案,并且因为这个帖子是在我搜索时出现的......)

使用本机驱动程序从 CodeIgniter 3 连接到 SQL_server 的简短分步指南:

  1. 首先从http://www.microsoft.com/en-us/download/details.aspx?id=20098下载 PHP for SQL_server Microsoft 本机驱动程序。请注意选择适合您设置的那个。
  2. 将其安装到 PHP 扩展目录。

  3. 在 PHP.ini 中配置新的扩展。取消注释或附加该行(取决于选择的驱动程序版本)。IE:

    extension = php_sqlsrv_55_ts.dll
    
  4. 重启阿帕奇。

    现在您的 PHP 设置能够连接到 SQL_server 数据库。

  5. 通过配置 application/config/database.php 来设置您的 CodeIgniter 数据库连接

    <?php
    
        // native-driver connection
        $db['default'] = array(
            'dsn'    => '',
            'hostname' => 'SERVER\SQLEXPRESS',
            'username' => 'test_user',
            'password' => 'test_password',
            'database' => 'test01',
            'dbdriver' => 'sqlsrv',
            'dbprefix' => '',
            'pconnect' => FALSE,
            'db_debug' => TRUE,
            'cache_on' => FALSE,
            'cachedir' => 'application/cache',
            'char_set' => 'utf8',
            'dbcollat' => 'utf8_general_ci',
            'swap_pre' => '',
            'autoinit' => TRUE,
            'encrypt' => FALSE,
            'compress' => FALSE,
            'stricton' => FALSE,
            'failover' => array(),
        'save_queries' => TRUE
        );
    

在 SQL_server 2008 R2 和 SQL_server 2014 express 上从 CodeIgniter 3.0.1 测试。

于 2016-04-07T15:39:10.710 回答