[원문] http://www.jamsun2.com/zbxe/?mid=study&listStyle=gallery& document_srl=83371
unixODBC Site : http://www.unixodbc.com
☞ unixodbc 설치
unixODBC is currently availible in a gzip, tar format. This means that you should;
1. copy the unixODBC*.tar.gz file somewhere you can create files and directories
2. gunzip unixODBC*.tar.gz
3. tar xvf unixODBC*.tar
Doing so will create a unixODBC directory with all source files inside.
./configure --prefix=/usr/local/odbc --sysconfdir=/etc --enable-drivrs=yes --enable-gui=no
make
make install
FreeTDS Site : http://www.freetds.org
☞ freetds 설치
# ./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/odbc --with-tdsver=8.0 --enable-msdblib
make
# ./configure --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared
--enable-static --prefix=/usr/local/freetds
make install
☞ /etc에 있는 freetds.conf파일 수정
[MSSQL]
host = xxx.xxx.xxx.151
port = 1433
tds version = 8.0
☞ tds.driver.template 드라이버 파일의 설정
[freeTDS]
Description = v0.52 with protocol v8.0
Driver = /usr/local/freetds/lib/libtdsodbc.so
☞ odbcinst -i -d -f tds.driver.template
** /usr/local/odbc/bin 에서 저장 및 실행
☞ tds.datasource.template
[MSSQL]
Driver = freeTDS
Description = DB Expresstion
Trace = No
Servername = MSSQL
Database = DBName
☞ odbcinst -i -s -f tds.datasource.template
** /usr/local/odbc/bin 에서 저장 및 실행
☞ /etc/odbcinst.ini 파일 수정
[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = /usr/local/freetds/lib/libtdsodbc.so
UsageCount = 1
☞ /etc/profile에 하기 내용을 추가
SYSBASE=/usr/local/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$SYBASE/lib
export SYBASE LD_LIBRARY_PATH
☞ freeTDS 의 테스트
- tsql -H MSSQL -p 1433 -U sa
- tsql -S MSSQL -U sa
========= FreeTDS에서 테스트시 내용 ======================
Test tsql of FreeTDS, e.g.:
tsql -S Kana -U 'username' -P 'password'
locale is "C"
locale charset is "646"
1> use Northwind
2> go
1> select * from mies
2> go
aap
mies
1>quit
- unixodbc 에서 테스트
/usr/local/odbc/bin/isql -v MS2K sa MyPassword
======== unixODBC에서 테스트 내용 =============================
Test isql of unixODBC:
isql -v Kana 'username' 'password'
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from mies;
+-----------+
| aap |
+-----------+
| mies |
+-----------+
SQLRowCount returns 1
1 rows fetched
SQL> quit
=======================================================
db_con.php
========================================================
$host="123.123.123.123"; // 접속할 서버 아이피
$user="sa"; // 접속 아이디
$password="!%jell001"; // 접속 패스워드
$dataname="jeil"; // 접속 디비명
putenv("MSSQL=/usr/local/freetds");
putenv("TDSVER=42");
$db_ms=mssql_connect($host,$user,$password);
mssql_select_db($dataname, $db_ms) or die ("DB접속에 실패하였습니다.");
★ 문제점 : freeTDSD에서는 UTF8로 한글이 정상적으로 출력되나, unixODBC에서는 한글이 깨짐
한글이 나타나지 않는 현상 현재 수정방법 없음
'UNIX_LINUX_C_C++' 카테고리의 다른 글
unixODBC를 이용하여 MySQL서버 접속하기 (0) | 2011.10.16 |
---|---|
Linux에서 MS-SQL에 접속하기 - FreeTDS (0) | 2011.10.16 |
정규식 / 정규표현식 regex++ (0) | 2011.10.16 |
epoll 서버 샘플 프로그래밍 (0) | 2011.10.16 |
linux C++ 정규표현 사용하기 (0) | 2011.10.16 |