본문 바로가기
Development/PHP

CodeIgniter(PHP) 에서 MS-SQL 설정

by Dev. Jkun 2012. 11. 12.
반응형

설정환경

  • OS : Windows Server 2008 R2
  • WebServer : IIS 7.5
  • DataBase : SQL Server 2008 R2

위와 같은 환경에서 코드이그나이터를 설치하여, DBMS 를 MS-SQL 로 설정하려 하다보니,

어마어마한 삽질을..;;;

해서 삽질의 결론은 DB Driver 가 문제.

해서 SQL Server (MS-SQL) 을 쓰려면 PHP 의 버전을 5.3 이전으로 낮추어야 

아래 설정에서 dbdriver 값에 mssql 로 설정하여 사용 할 수 있는것 같다.

이에 sqlsrv 로 드라이버를 변경해 보았다. 그래도 사용불가;

너무 긴 삽질에 짜증제대로;;;



아마도 내가 못찾은 것일 수 도 있지만;;

내 삽질경험으로 내린 답은 다음과 같다.


PHP 5.3 이전에서는 mssql 드라이버 사용가능.

이상으로는 sqlsrv 인것 같은데 코드이그나이터에서 지원하지 않는다.

(방법 있으신 분들은 답변 좀 부탁드립니다.ㅜㅜ)


해서 그냥 해결책으로는 Helper 클래스나, 라이브러리로 생성하여 참조사용밖에는

암튼.ㅎㅎ

아래는 설정순서다.


깔끔자체다. 윈도우에서 PHP 설정으로는 제일 좋고 귀찮지 않다. 심플하다.

APM_SETUP 이나 XAMPP 보다 더 신뢰가 간다.

먼저 웹플랫폼 설치 관리자를 통하여, PHP, MS-SQL 드라이버를 설치한다.



그리고 설치가 완료되었으면 다음과 같이 mssql 드라이버를 허용하자.



그리고 PHP 5.3 이전에는 mssql 이나 다음 버전부터는 sqlsrv 으로 설정이 되있다고 한다.

이제 PHP, MS-SQL 설정은 설정완료 상태이다.


이제부터 코드이그나이터에 설정을 해야하는데 구글링을 하고, 개삽질을 해봐도..

아직까지 코드이그나이터에서 SQLSRV 드라이버를 지원하지 않는것이다.

해서 sqlsrv 를 직접불러와서 쿼리를 날려보니 작동한다.


     $ConnectionInfor = array('DataBase' => 'TestDB', 'UID' => 'sa', 'PWD' => 'www.jkun.net');

     $Con = sqlsrv_connect('192.168.0.1', $ConnectionInfor);

    

     $SQL = "SELECT * FROM COMMON_CODE";

     $Rs = sqlsrv_query( $Con, $SQL );

    

     if( $Rs === false) {

     die( print_r( sqlsrv_errors(), true) );

     }

    

     while( $row = sqlsrv_fetch_array( $Rs, SQLSRV_FETCH_ASSOC) ) {

     echo $row['CODE1'].", ".$row['CODE2']."<br />";

     }    

    

$this->load->view('welcome_message');


해서 DBHelper Class 를 작성하여 라이브러리로 만들어서 사용하고 있다만;;;

아무래도 근본적인 버전업이 아니고서야, 정식적으로 코드이그나이터가 SQL Server 를 지원하지는

않았따. 보다 더 심플한 코드로 구성된.. 클래스가 있을것 같긴한데,


혹시 PHP5.3 이상으로 MS-SQL  SQL Server 2008 이상으로 코드이그나이터 설정완료하신분

있으시면 답변좀 부탁드리겠습니다.


 

 


반응형

댓글