Perl a MSSQL v Linuxe

Popíšeme si ako sa môžeme pripojiť z linuxu (CentOS 5) na MSSQL server.

V prvom rade musíme nainštalovať knižnice umožňujúce systému natívne komunikovať s MSSQL serverom. Tieto knižnice nájdete na www.freetds.org. Pre distribúciu CentOS ale použijeme predpripravené rpm z repozitárov. Balík freetds nie je v štandardných repozitároch. Preto pre tieto účely použijeme ďalší repozitár na dag.wieers.com.

Pridanie repozitára:

  1. Vo Firefox-e pôjdeme na stránku http://dag.wieers.com/rpm/FAQ.php#B
  2. Klikneme na odkaz s balíkom rpmforge-release (podľa vašej distribúcie), napríklad pre Red Hat Enterprise Linux 5 / i386 klikneme na http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
  3. V dialógovom okne klikneme na Otvoriť pomocou: Software Installer, klikneme na OK
  4. Na požiadanie zadáme heslo pre root-a a balík nainštalujeme

Nainštalovanie knižnice freetds

  1. Otvoríme terminál, urobíme su na root-a
  2. Zadáme príkaz:

    [root@pc uzivatel]# yum list | grep freetds
  3. Mal by sa zobraziť podobný výstup:

    freetds.i386 0.64-1.el5.rf rpmforge
    freetds-devel.i386 0.64-1.el5.rf rpmforge
  4. Dáme nainštalovať freetds

    [root@pc uzivatel]# yum install freetds.i386
  5. Výstup by mal byť podobný tomuto:

    -- cut --
    =========================================================
    Package Arch Version Repository Size
    =========================================================
    Installing:
    freetds i386 0.64-1.el5.rf rpmforge 1.7 M
    Installing for dependencies:
    unixODBC i386 2.2.11-7.1 base 832 k

    Transaction Summary
    =========================================================
    Install 2 Package(s)
    Update 0 Package(s)
    Remove 0 Package(s)
    Total download size: 2.5 M
    Is this ok [y/N]:
  6. Stlačíme y, ENTER
  7. Balíky by sa mali stiahnuť a nainštalovať

Nainštalovanie DBD-ODBC modulu pre Perl

  1. Zadáme v konzoli príkaz:

    [root@pc uzivatel]# yum list | grep DBD-ODBC
    perl-DBD-ODBC.i386 1.14-1.el5.rf rpmforge
  2. Nainštalujeme balík príkazom:

    yum install perl-DBD-ODBC.i386

Konfigurácia ODBC dátových zdrojov

  1. V konzoli zadáme príkaz:

    [root@pc uzivatel]# vim /etc/odbc.ini
  2. Vyplníme údaje o dátovom pripojení nasledovne (hodnoty Address, UID a PWD vyplníte podľa svojich nastavení):

    [mssql]
    Description=MS SQL Server Database
    Database=pubs
    Driver=/usr/lib/libtdsodbc.so.0
    Address=nazov_alebo_IP_sql_servera
    TDS=8.0
    UID=uzivatel
    PWD=heslo
  3. Uložíme súbor, ukončíme editor
  4. Odhlásime sa z účtu root

Otestovanie funkčnosti:

  1. V termináli spustíme:

    [uzivatel@pc temp]$ vim mssql.pl
  2. Zapíšeme program kde: mssql je názov vami zadefinovaného zdroja v odbc.ini, usr je užívateľský účet pre prístup k MSSQL serveru a pas je heslo:

    #!/usr/bin/perl
    use DBI;
    my $dbh=DBI->connect("DBI:ODBC:mssql",'usr','pas',{PrintError=>0});
    die "Unable for connect to server $DBI::errstr"
    unless $dbh;
    my $sth;
    $sth = $dbh->prepare("select * from Authors;");
    if($sth->execute) {
    while(@dat = $sth->fetchrow) {
    print "@dat\n";
    }
    }
  3. Uložíme súbor, ukončíme editor
  4. Zmeníme vlastnosti súboru na spustiteľný:
    chmod +x mssql.pl
  5. Spustíme skript:
    ./mssql.pl
  6. Výstup by mala byť tabuľka autorov z databázy pubs.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.