복붙노트

[SQL] CodeIgniter의 MSSQL 연결

SQL

CodeIgniter의 MSSQL 연결

제가 64 비트 윈도우 2008 서버 시스템 실행에 배포 할 수있는 웹 프로젝트에서 일하고 있어요 7.5과 PHP 5.3.8을 IIS. 시스템의 데이터베이스는 마이크로 소프트 SQL 서버 2008 R2입니다. 나는 CodeIgniter의 2.1.0 프레임 워크에서 응용 프로그램을 개발하고 있어요, 나는 약간은 SQL Server에 연결을 얻기에 난처한 상황에 빠진입니다.

나는 모두 MSSQL, ODBC 및 SQLSRV 데이터베이스 드라이버를 사용하여 시도했습니다, 그리고 각기 다른 드라이버, 세 개의 오류가 발생했습니다.

여기 ODBC 내 구성은 다음과 같습니다

$db['default']['hostname'] = 'SA';
$db['default']['username'] = 'petre';
$db['default']['password'] = 'start';
$db['default']['database'] = 'petre';
$db['default']['dbdriver'] = 'odbc';
$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;

나는 SA에 대한 DNS는 데이터 소스에 정의가 있고, 나는 사용자 이름과 암호가 모두 유효하다는 것을 확신하고 서버가 혼합 인증 (윈도우 + SQL 인증)을 허용하는지.

나는 DB 라이브러리를 자동으로 로딩하고있어 어떤 페이지에 대해 내가 얻을 액세스 :

Unable to connect to your database server using the provided settings.
Filename: C:\inetpub\wwwroot\system\database\DB_driver.php
Line Number: 124

내가 MSSQL를 통해 연결하려고하면, 난 그냥 상관없이, 빈 페이지를 얻을.

나는 다음과 같은 PARAMS을 사용하여 SQLSRV를 사용하려고하면 :

$db['default']['hostname'] = '127.0.0.1';
$db['default']['username'] = 'petre';
$db['default']['password'] = 'start';
$db['default']['database'] = 'petre';
$db['default']['dbdriver'] = 'sqlsrv';

심지어 내가 php.ini 파일에서 SQLSRV DLL 파일에 연결하고있어하지만, 나는 다음과 같은 메시지가 나타납니다 :

PHP Fatal error:  Call to undefined function sqlsrv_connect() in C:\inetpub\wwwroot\system\database\drivers\sqlsrv\sqlsrv_driver.php on line 76

나는 오래된 게시물과 다른보기에 최대 읽어 봤는데하지만 난 문제를 해결하기 위해 아직했습니다.

괜찮 연결을 얻는다 아무것도 - 나는 단지 하나의 DB 드라이버에 대한 해결책을 찾고 있어요. 사람이 해결에 어떤 조언이 있습니까?

해결법

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

    1.당신이 SQLSRV 드라이버 보이고있다 오류는 DLL은 결코로드되지 않는 것을 의미한다. 어떻게 당신의 php_info () 말을합니까?

    당신이 SQLSRV 드라이버 보이고있다 오류는 DLL은 결코로드되지 않는 것을 의미한다. 어떻게 당신의 php_info () 말을합니까?

    또한, 당신은 SQL 서버 기본 액세스 클라이언트 (SNAC) (10)가 설치되어 있습니까? SQLSRV 드라이버가 필요합니다.

  2. ==============================

    2.함께 사용하기위한 86의 승리 다운로드 http://www.microsoft.com/en-us/download/details.aspx?id=20098 경우 :

    함께 사용하기위한 86의 승리 다운로드 http://www.microsoft.com/en-us/download/details.aspx?id=20098 경우 :

    $db['default']['dbdriver'] = 'sqlsrv';
    use the php_sqlsrv_XX_ts_vcX.dll in php.ini extension
    

    웹 서버와 데이터베이스 서버가 응용 프로그램과 같은 서버에없는 경우,이를 설치 :

    http://go.microsoft.com/fwlink/?LinkID=188400&clcid=0x409
    

    및 웹 서버로 리눅스를위한 : $ DB [ '디폴트'] [ 'dbdriver'= 'MSSQL';

    download & install = php5-sybase + freetds
    <br/>edit /usr/local/etc/freetds.conf
    <br/>create pdo_dblib.so & php_mssql.so (if not allready exist on your extension dir), and apply to php.ini
    
    sudo /etc/init.d/apache2 restart
    

    (MSSQL 1433의 기본 포트)과 당신의 DB에 연결을 허용하는 것을 잊지 해달라고

  3. from https://stackoverflow.com/questions/8669337/codeigniter-mssql-connection by cc-by-sa and MIT license