복붙노트

[SQL] XAMPP에 연결 SQLSRV

SQL

XAMPP에 연결 SQLSRV

나는 CodeIgniter의 설치와 XAMPP를 설치했습니다. 나는 SQL 데이터베이스에 CodeIgniter의에서 연결하려는.

나는 데이터베이스 설정 파일을 변경하고 SQLSRV에 dbdriver을 설정합니다.

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'IP Adress;
$db['default']['username'] = 'DBUserName';
$db['default']['password'] = 'DBPassword';
$db['default']['database'] = 'DBName';
$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;

내 컨트롤러에서 나는 연결을 시도하는 다음과 같은 코드가 있습니다 :

$this->load->database();

$db_obj = $this->db->load('sql_Test',TRUE);
$connected = $db_obj->initialize();

if (!$connected){
    $db_obj = $this->d->load('yyy',TRUE);
} 
else{
    die('connected');
}

나는 다음과 같은 오류가 있습니다 :

나는 내가 sqlsrv_driver.php에서 변화 라인 89에 가지고 포럼에 읽었습니다 :

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

내가 잘못합니까?

해결법

  1. ==============================

    1.편집하다- 먼저 드라이버를 다운로드해야 http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

    편집하다- 먼저 드라이버를 다운로드해야 http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

    이제 XAMPP 설치로 이동 php.dll 검색 당신이 DLL이 올바른 PHP를 표시합니다.

    1) XAMPP / PHP / 내선 디렉토리에 파일을 다음 이동합니다.

    php_sqlsrv_53_nts_vc9.dll
    php_pdo_sqlsrv_53_nts_vc9.dll
    

    당신이 php5ts.dll이있는 경우 2) 다음 XAMPP / PHP / 내선 디렉토리에 파일을 다음 이동합니다.

    php_sqlsrv_53_ts_vc9.dll
    php_pdo_sqlsrv_53_ts_vc9.dll
    

    파일을 사용해야 위의 PHP 버전의 Visual C ++ 9.0로 컴파일합니다. 그 밖에 다음과 같은 파일을 사용해야합니다.

    당신이 php.dll이있는 경우 1) 다음 XAMPP / PHP / 내선 디렉토리에 파일을 다음 이동합니다.

    php_sqlsrv_53_nts_vc6.dll
    php_pdo_sqlsrv_53_nts_vc6.dll
    

    당신이 php5ts.dll이있는 경우 2) 다음 XAMPP / PHP / 내선 디렉토리에 파일을 다음 이동합니다.

    php_sqlsrv_53_ts_vc6.dll
    php_pdo_sqlsrv_53_ts_vc6.dll
    

    이제 우리는 우리가 최근에 추가 한 파일을로드해야합니다. PHP는 INI 파일을 열고 다음과 같은 동적 확장의 영역에 항목을 추가 할 수 있습니다.

    extension=php_sqlsrv_53_nts_vc9.dll
    extension= php_pdo_sqlsrv_53_nts_vc9 .dll 
    

    ini를 파일과 다시 시작 XAMPP 저장

    $check= @$CI->load->database($config, TRUE); // ommit the error
    if ($check->call_function('error') !== 0) {
        // Failed to connect
    }
    

    내가 CodeIgniter의 당신이 초기화 데이터베이스에 필요하지 않습니다 당신이 일을하려고하고 있지만 확실히 알 수없는, CI가 자동으로 당신을 위해 그것을 않습니다

    그래서-

    $this->load->database();
    
    $db_obj = $this->db->load('SQL_Test',TRUE);
    $connected = $db_obj->initialize();
    

    이것은 필요하지 않습니다.

    당신은 모델을로드해야합니다 및 모델에 쿼리를 수행하기 시작합니다. ) (this->로드 -> 데이터베이스를 $; 컨트롤러에서는 모델을로드해야합니다 같은 -

    $this->load->model('my_model');
    

    다음 쿼리를 작성한있는 모델 함수를 호출합니다.

    $this->my_model->myfunction(); 
    
  2. ==============================

    2.귀하의 XAMPP 설정은 SQLSRV 지원하지 않습니다. 당신은 php.ini 파일에서 활성화해야합니다.

    귀하의 XAMPP 설정은 SQLSRV 지원하지 않습니다. 당신은 php.ini 파일에서 활성화해야합니다.

    extension=php_sqlsrv.dll
    extension=php_pdo_sqlsrv.dll
    
  3. from https://stackoverflow.com/questions/22831500/connect-sqlsrv-in-xampp by cc-by-sa and MIT license