리눅스에서 MSSQL 서버 접근할려고 MS에서 제공해주는 라이브러리 설치했지만 이래저래
문제가 많아서 FreeTDS를 사용하기로 결정했다.
리눅스 SQL Server(MSSQL) ODBC 설치 - http://www.opens.kr/34
Linux uninxODBC SQL Server Native Client 11.0 한글문제 - http://www.opens.kr/35
FreeTDS Yum 간단 설치 방법
1) 저장소 등록 ( 다른곳을 이용해도 무관함 )
$ rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
2) Yum 설치
$ yum install freetds unixODBC
=================================================================================================================
Package Arch Version Repository Size
=================================================================================================================
Installing:
freetds x86_64 0.91-2.el6 webtatic 567 k
unixODBC x86_64 2.2.14-12.el6_3 base 378 k
Installing for dependencies:
libtool-ltdl x86_64 2.2.6-15.5.el6 base 44 k
Transaction Summary
=================================================================================================================
Install 3 Package(s)
3) tsql을 이용한 접속테스트
$ tsql -H 192.168.0.0 -p 1433 -U username -P userpassword
참조 가이드 : http://www.freetds.org/userguide/confirminstall.htm
4) ODBC에 FreeTDS등록
vi /etc/odbcinst.ini
----------------------------------
[FreeTDS]
Description = FreeTDS Driver
Driver = /usr/lib64/libtdsodbc.so.0
Setup = /usr/lib64/libtdsS.so.2
FileUsage = 1
CPTimeout = 5
CRReuse = 5
----------------------------------
5) isql을 이용한 접속 테스트
vi /etc/odbc.ini
----------------------------------
[MSSQLTEST]
driver=FreeTDS
server=192.168.0.0
port=1433
database=DBNAME
client_charset = UTF-8
tds_version = 8.0
----------------------------------
$ isql -v MSSQLTEST username userpassword
+---------------------------------------+
| Connected!
|
| sql-statement
| help [tablename]
| quit
|
+---------------------------------------+
※ ODBC 정보확인은 아래와 같이
$ odbcinst -j
unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
※ PHP PDO나 타 개발언어에서 사용시
$ vi /etc/freetds.conf의 [global]에 기본 tds_version 버젼과 client_charset 지정해주는 게 좋을 듯하다.
-------------------------------
[global]
tds version = 8.0
client charset = UTF-8
text size = 64512
-------------------------------
※ 리눅스 PHP PDO dblib FreeTDS 사용 (MSSQL) - http://www.opens.kr/37