将Codeigniter连接到使用Windows身份验证的ODBC

时间:2012-10-18 21:11:36

标签: codeigniter odbc windows-authentication

我正在寻找一种解决方案,允许我通过使用Windows身份验证的ODBC连接到MS SQL。我已经使用需要用户/传递的标准ODBC连接测试并验证了所有其余代码。以下是使用该ODBC的设置以及我在Windows身份验证ODBC上尝试的设置。

使用database.php设置 - 标准用户/传递连接

    $active_group = 'jf2';
    $active_record = TRUE;
    $db['jf']['hostname'] = 'system DSN name';
    $db['jf']['username'] = 'db_user';
    $db['jf']['password'] = 'db_pass';
    $db['jf']['database'] = 'db_name';
    $db['jf']['dbdriver'] = 'odbc';
    $db['jf']['dbprefix'] = '';
    $db['jf']['pconnect'] = TRUE;
    $db['jf']['db_debug'] = TRUE;
    $db['jf']['cache_on'] = FALSE;
    $db['jf']['cachedir'] = '';
    $db['jf']['char_set'] = 'utf8';
    $db['jf']['dbcollat'] = 'utf8_general_ci';
    $db['jf']['swap_pre'] = '';
    $db['jf']['autoinit'] = TRUE;
    $db['jf']['stricton'] = FALSE;           

不工作的database.php设置 - Windows Auth尝试

    $active_group = 'jf1';
    $active_record = TRUE;

    $db['jf1']['hostname'] = 'system DSN name';                
    $db['jf1']['username'] = '';
    $db['jf1']['password'] = '';
    $db['jf1']['database'] = 'db_name';
    $db['jf1']['dbdriver'] = 'odbc';
    $db['jf1']['dbprefix'] = '';
    $db['jf1']['pconnect'] = TRUE;
    $db['jf1']['db_debug'] = TRUE;
    $db['jf1']['cache_on'] = FALSE;
    $db['jf1']['cachedir'] = '';
    $db['jf1']['char_set'] = 'utf8';
    $db['jf1']['dbcollat'] = 'utf8_general_ci';
    $db['jf1']['swap_pre'] = '';
    $db['jf1']['autoinit'] = TRUE;
    $db['jf1']['stricton'] = FALSE;

具体来说,我不确定将进入user / pass字段的内容。错误如下:

  

发生数据库错误

     

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

     

文件名:C:\ wamp \ www \ CodeIgniter_2.1.2 \ boss_table \ system \ database \ DB_driver.php

     

行号:124

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

$db['jf1']['hostname'] = 'system DSN name';                
$db['jf']['username'] = '';
$db['jf']['password'] = '';
$db['jf1']['database'] = 'db_name';

您要在jf数据库组而不是jf1组上设置用户名和密码密钥。

$db['jf1']['hostname'] = 'system DSN name';                
$db['jf1']['username'] = 'insert_username';
$db['jf1']['password'] = 'insert_password';
$db['jf1']['database'] = 'db_name';