사용자 도구

사이트 도구


develop:perl:mssql

Perl을 이용하여 MS SQL Server 연동하기

Installation

FreeTDS 설치하기

apt로 설치하기

  1. freetds-common 과 freetds-dev 를 설치해 준다.
     # apt-get install freetds-common freetds-dev

source로 설치하기(순서)

  1. 다운로드
  2. 압축해제
  3. 사용자에 staff 권한 부여
  4. configure –with-tdsver=8.0
  5. make
  6. make install

Sybase 펄모듈 설치하기

  1. sybase 펄모듈 설치
    $ apt-get install libdbd-sybase-perl libdbd-odbc-perl 

Configuration

  1. freetds.conf 파일은 연다.
    1. 데비안 패키지인 경우에는 /etc/freetds/freetds.conf 이며, 소스로 설치되어 있을 경우에는 소스 설정 경로는 참조한다.
  2. 필요한 경우에만 아래의 주석을 해제한다.
    try server login = yes
    try domain login = no
    
    tds version = 7.0
  3. 맨 아래 부분에 Microsoft SQL Server 설정을 한다.
    [admindb]
            host = 192.168.100.2
            port = 1433
            tds version = 8.0
  4. 설정이 정상적으로 되었는지 command-line 툴인 tsql 을 이용하여 확인한다.
    $ tsql -S admindb -U mssql_username
    $ tsql -S admindb -U mssql_username -P mssql_password

Example

  1. 샘플소스를 만들어보자
    #!/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