본문 바로가기
프로그래밍/PHP

[본문스크랩] [설치/설정] 리눅스php 로 MS-SQL 프로시져를 을 잡자 ..

by 백룡화검 2010. 4. 23.

이번에 새로운 프로젝트를 하게 되었습니다.

리눅스,php5.x,freetds 0.6x ->윈도우2000 MSSQL2000

입니다.

freetds 을 통하여..

mysql_connect,mysql_select_db,mysql_close,mysql_query
등은 무난히 가능 했습니다..

허나 여기서 잠깐.. 프로시져를 사용하기 위한 중요한 함수...

mssql_execute 이 넘의 문제였답니다.

mssql_execute(): stored procedure execution fail 이러한 에러가 발생하며

작업이 진행되지 않았습니다..

머.. 문서가 많은 것도 아니고, 원인도 알수 없었고...

그 문제를 php스쿨의 어느분한테서 힌트를 얻었고...

freetds.conf 파일에서

# A typical Microsoft SQL Server 2000 configuration
[WServer2k]
        host = xxx.xxx.xxx.xxx
        port = 1433
        tds version = 8.0
        client charset = EUC-KR <--- 중요

# A typical Microsoft SQL Server 2000 configuration
[GServer2k]
        host = xxx.xxx.xxx.xxx
        port = 1433
        tds version = 8.0
        client charset = EUC-KR <--- 중요


위와 같이 변경후...

mysql_connect 에서.. IP 대신.. WServer2k 이나 GServer2k 을

mysql_connect(WServer2k ,$user, $pass);

하였더니...

mssql_execute(); 가 오류 없이 사용 가능 했습니다..

$result = mssql_execute($smtp);

$row = mssql_fetch_array($result);

결과값 'O.K';

결국 원인은... 두 기종간의 언어설정 문제였던겁니다...

이문제 때문에 삽질 많이 했답니다 ㅠ.ㅠ

 

 

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=49564&page=&sfl=&stx=&spt=&page=&cwin=#c_49578