TIP게시판

제목 sqlserver 2008 연결시 포트번호 처리...
글쓴이 변종원(웅파) 작성시각 2011/02/08 16:11:45
댓글 : 0 추천 : 0 스크랩 : 0 조회수 : 20026   RSS
centos5.5에  php-mssql, freetds를 설치하고 콘솔에서나 포트가 기본인 다른 sql server로의 연결은 정상인데

유독 database.php에 

$db['mssqls']['hostname'] = "111.16.187.42";
$db['mssqls']['port'] = '4042';
$db['mssqls']['username'] = "datacenter";
$db['mssqls']['password'] = "U";
$db['mssqls']['database'] = "U";

$db['mssqls']['dbdriver'] = "mssql";
$db['mssqls']['dbprefix'] = "";
$db['mssqls']['pconnect'] = FALSE;
$db['mssqls']['db_debug'] = TRUE;
$db['mssqls']['cache_on'] = FALSE;
$db['mssqls']['cachedir'] = "";
$db['mssqls']['char_set'] = "windows-1252";
$db['mssqls']['dbcollat'] = "sql_latin1_general_cp1_ci_as";
이렇게 설정했을 경우 데이터베이스 연결이 안됩니다.

코어에서 포트가 있는 경우 자동으로 111.16.187.42,4042 로 바꿔주는데 접속이 안됩니다.
콘솔에서 tqsl -H 111.16.187.42 -p 4042 로 했을 경우는 정상접속됩니다.

문제는 ci의 mssql driver에서 111.16.187.42,4042 를 인식하지 못하는데 있습니다.

해결방법은 

$db['mssqls']['hostname'] = "111.16.187.42:4042";
아이피:포트 입니다.

ci포럼도 뒤져보고 구글링 해봐도 답을 찾을 수가 없었는데 혹시나 하고 해보니 되네요. 쩝.
꽤 많은 시간을 허비했네요. ^^;;
 다음글 autoload로 interface정의해서 사용하기.
 이전글 CI 1.7.2에서 2.0 으로 옮길때 했던 작업들. (3)

댓글

없음