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:
- Vo Firefox-e pôjdeme na stránku http://dag.wieers.com/rpm/FAQ.php#B
- 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
- V dialógovom okne klikneme na Otvoriť pomocou: Software Installer, klikneme na OK
- Na požiadanie zadáme heslo pre root-a a balík nainštalujeme
Nainštalovanie knižnice freetds
- Otvoríme terminál, urobíme su na root-a
- Zadáme príkaz:
[root@pc uzivatel]# yum list | grep freetds
- Mal by sa zobraziť podobný výstup:
freetds.i386 0.64-1.el5.rf rpmforge
freetds-devel.i386 0.64-1.el5.rf rpmforge
- Dáme nainštalovať freetds
[root@pc uzivatel]# yum install freetds.i386
- 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]:
- Stlačíme y, ENTER
- Balíky by sa mali stiahnuť a nainštalovať
Nainštalovanie DBD-ODBC modulu pre Perl
- Zadáme v konzoli príkaz:
[root@pc uzivatel]# yum list | grep DBD-ODBC
perl-DBD-ODBC.i386 1.14-1.el5.rf rpmforge
- Nainštalujeme balík príkazom:
yum install perl-DBD-ODBC.i386
Konfigurácia ODBC dátových zdrojov
- V konzoli zadáme príkaz:
[root@pc uzivatel]# vim /etc/odbc.ini
- 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
- Uložíme súbor, ukončíme editor
- Odhlásime sa z účtu root
Otestovanie funkčnosti:
- V termináli spustíme:
[uzivatel@pc temp]$ vim mssql.pl
- 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";
}
}
- Uložíme súbor, ukončíme editor
- Zmeníme vlastnosti súboru na spustiteľný:
chmod +x mssql.pl
- Spustíme skript:
./mssql.pl
- Výstup by mala byť tabuľka autorov z databázy pubs.