본문 바로가기

UNIX_LINUX_C_C++

[FreeTDS] freetds 설치- 리눅스 apache, php 에서 mssql connecting 하기

아파치,PHP로 MS-SQL에 연결할때 사용 http://www.freetds.org/userguide/

목차

[숨기기]

[편집] 설치

[설치/설정] 리눅스 apache, php 에서 mssql connecting 하기

글쓴이 이런일이 날 짜 03-07-23 15:42 조 회 5188 

시스템 정보 Pentum 3 1G Ram: 256 HDD: 40G os: Debian 3.0

[편집] freetds 설치

1. www.freetds.org 에서 freetds 최신버전을 다운 받는다 여서 설치할 버전은 0.61 버전이다 모든 작업은 root로 작업한다. freetds-0.61.tgz 파일을 /tmp에 저장

# tar zxvf freetds-0.61.tgz 
# cd freetds-0.61 
# ./configure --prefix=설치할 경로(/usr/local/freetds) --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static 
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
--with-tdsver=8.0 --> 연결할 mssql server가 mssql 2000 일때 8.0, mssql 7 은 7.0 이다 make make install cd /usr/local/freetds
cp ./lib/* /usr/lib 라이브러리 파일을 복사한다 vi ./etc/freetds.conf 설정파일 수정

이부분을 주석을 제거

[MyServer70] host = mssql server ip port = 1433 tds version = 8.0 --à mssql 7 은 7.0 

[편집] apache 설치

기존 설치상의 변경할 내용 없다. 그냥 기존 대로 설치하면 된다

[편집] php설치

소스 컴파일 시

#./configure --with-sybase=/usr/local/freetds 옵션을 추가해서 컴파일 한다. 
cd /src_temp/php-5.1.2 
./configure --with-mysql=/usr/local/mysql --with-sybase=/usr/local/freetds --with-libxml-dir=/usr/include/libxml2 --with-exec-dir=/usr/local/apache2/bin --with-config-file-path=/usr/local/apache2/conf --enable-track-vars=yes --enable-trans-sid
./configure --with-mysql=/usr/local/mysql --with-sybase=/usr/local/freetds --with-libxml-dir=/usr/include/libxml2 --with-exec-dir=/usr/sbin --with-config-file-path=/usr/local/apache2/conf --enable-track-vars=yes --enable-trans-sid
/usr/sbin/apache make && make install

[편집] apache 재시작

apachectl restart --------> 사용하지 않는다. 이전 설정이 그대로 적용 # apachectl stop # apachectl start 

접속속도가 점 느립니당.

이상 잘못된 점이 있으시면 말씀해주세요.


 SQL guru 03-07-23 16:30 

configure option --> 그래서 느립니다... 속도는 거의 같아요..

 이런일이 03-07-23 18:07 

configure option 중에 어떤 부분때문 인가요. SQL guru 님

 muti 03-07-24 10:02 

저는 경험상 freetds config시 --with-tdsver=4.2 요?게 옵션을 넣고 있습니다. 위에서처럼 8.0,7.0으로 해서 사용하다 연동이 안될때가 있더라구요.. 가끔가다가요.. 실제 서비스에 적용이 돼있는데 갑자기 이미지가 깨지는 경우가 발생하고... 요리저리 찾아보니까 freetds문제 때문이었습니다.(이미지가 컨텐츠업체 내부 MSSQL에 있거든요) 그래서 찾아보니 --with-tdsver=4.2 요?게 하면 sybase형식(맞나?)으로 연결을 한다는 군요. MSSQL의 전신이 sybase이구 요넘의 회사를 M$가 사서 만든게 MSSQL이라 구러드라구요.. 그래서 4.2(MS로 회사넘어가기 바로 직전의 버전)로 컨피그하면 7.0,2000에서도 아무 문제가 없다고 하드라구요.. 찾는데 절라 고생 -_-; 지금 반년이상 잘돌고있습니다.(참고로 이놈이 걸린게 그리 작은 서비스가 아니거든요... 울나라 1위 포털 내부에 있어 사용자도 많고 한데 요넘때메 탈나지 않고 잘돌립니다.^^

 정치지망생 03-07-31 18:09 

저도 예전에 이거 실서비스는 아니지만. 테스트 해봤는데

tds version = 8.0 --à mssql 7 은 7.0 

여기 옵션을 정확하게 줘야 할겁니다. 속도차이가 엄청 납니다. 옵션을 바꿔가면서 속도 체크 해보세요. 장난 아니에요~

 이준형 03-09-20 16:29 

요기 가보시면 SQL Server와 Client간의 OS 조합에 따른 tdsver값 세팅방법이 나와 있습니다. http://www.freetds.org/userguide/x1025.htm


 BA 03-11-28 17:36 

php compile

To get these functions to work, you have to compile PHP with --with-mssql[=DIR], where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib.

http://www.php.net/manual/en/ref.mssql.php

'UNIX_LINUX_C_C++' 카테고리의 다른 글

디렉토리 리스트 검색  (0) 2011.10.16
라이브러리및 컴파일 하기  (0) 2011.10.16
파일변조검사 - hash값 사용  (0) 2011.10.16
unix 파일구조/파일탐색  (0) 2011.10.16
정규표현식 java(?) - 표현식예제  (0) 2011.10.16