develop:perl:mssql
Perl을 이용하여 MS SQL Server 연동하기
Installation
FreeTDS 설치하기
apt로 설치하기
freetds-common 과 freetds-dev 를 설치해 준다.
# apt-get install freetds-common freetds-dev
source로 설치하기(순서)
다운로드
압축해제
사용자에 staff 권한 부여
configure –with-tdsver=8.0
make
make install
Sybase 펄모듈 설치하기
sybase 펄모듈 설치
$ apt-get install libdbd-sybase-perl libdbd-odbc-perl
Configuration
freetds.conf 파일은 연다.
데비안 패키지인 경우에는 /etc/freetds/freetds.conf 이며, 소스로 설치되어 있을 경우에는 소스 설정 경로는 참조한다.
필요한 경우에만 아래의 주석을 해제한다.
try server login = yes
try domain login = no
tds version = 7.0
맨 아래 부분에 Microsoft SQL Server 설정을 한다.
[admindb]
host = 192.168.100.2
port = 1433
tds version = 8.0
설정이 정상적으로 되었는지 command-line 툴인 tsql 을 이용하여 확인한다.
$ tsql -S admindb -U mssql_username
$ tsql -S admindb -U mssql_username -P mssql_password
Example
샘플소스를 만들어보자
#!/usr/bin/perl
use DBI;
$dsn = 'DBI:Sybase:server=admindb';
my $dbh = DBI->connect($dsn, "mssql_username", "mssql_password");
die "unable to connect to server $DBI::errstr" unless $dbh;
$dbh->do("use mssql_database");
$query = "SELECT * FROM scott";
$sth = $dbh->prepare ($query) or die "prepare failed\n";
$sth->execute( ) or die "unable to execute query $query error $DBI::errstr";
while ( @first = $sth->fetchrow_array ) {
foreach $field (@first) {
print "field: $field\n";
}
}
$dbh->disconnect;
-
FAQ
한글이 입력이 되지 않을 경우 freetds.conf 안의 tds version 을 4.2로 수정한다.
[global]
# TDS protocol version
tds version = 4.2
Reference
develop/perl/mssql.txt · 마지막으로 수정됨: 2011/11/14 10:55 저자 starlits