티스토리 뷰

카테고리 없음

php mssql odbc freetds

아르고우스 2015. 12. 14. 17:47

mssql 2005 ==> freetds 버전 은 7.2


기존의 freetds를 yum으로 설치가 되어 있다면 odbc 접속이 안댈수도 잇으니 꼭 compile를 해서 사용 해 주세요


1. freetds 다운로드

- http://www.freetds.org/ 사이트 에서 다운로드 한다.

2. freetds 컴파일 

./configure --with-tdsver=7.2 --with-unixodbc=/usr/local 

- make

- make install


freetds configure: error: sql.h not found 

에러발생시 

./configure --with-tdsver=7.2 --with-unixodbc=/usr/local --disable-debug --enable-dbmfix --enable-msdblib

후에 다시 make 해 보시기 바랍니다.


2.1 이거 안해 보고 테스트 안해봐서 일단 해야 하는것으로 알고 있음

- vi /etc/profile

- add text


# TDS 

SYBASE=/usr/local/freetds 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$SYBASE/lib
export SYBASE LD_LIBRARY_PATH 

3. ODBC Driver with UnixODBC registering

- cd /etc

- tds driver 파일 생성

- vi /et/tds.driver.template

[FreeTDS] 
Description     = v0.95 with protocol v7.2 
Driver          = /usr/local/freetds/lib/libtdsodbc.so
tds.driver.template

- tds driver 실행

- odbcinst -i -d -f tds.driver.template


- ODBC DataSourece 생성

- vi /etc/tds.datasource.template

[MSSQLTestServer] 
Driver  = FreeTDS 
Description     = Northwind sample database 
Trace   = No 
Server      = 192.168.1.25 
Port      = 1433 
Database        = Northwind
tds.datasource.template


- ODBC DataSource 실행

- odbcinst -i -s -f /etc/tds.datasource.template


- 위와 같이 실행을 하면

/etc/odbc.ini 과 /root/.odbc.ini 파일 두개가 생성이 된다.

- odbcinst -j 를 실행 해 보라 

/etc/odbc.ini 파일은 system data source 며

/root/.odbc.ini 파일은 user data source 이다.


혹시 php에서 접속이 안대면 

/root/.odbc.ini 파일을 /etc 아래에 복사 해 넣으세요


php에서는 php.ini 파일에서 odbc.so 파일을 로드 해 주면 됨



참고 사이트 

http://www.unixodbc.org/doc/FreeTDS2.html



기본 freetds와 pdo 보다 odbc로 접속 할때가 속도가 가장 빨랐다. .드디어 해결인가? 앞으로 또 어떤 난관이? ㅠ.ㅠ


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함