Опубликовано

Подключаемся к MS SQL из Perl

Если у Вас появилась необходимость работать с базой MS SQL из Perl, то в данном посте я расскажу как это получилось делать у меня.

Для этого нам понадобятся: freetds, DBD::Sybase .

1. Выставляем  переменную окружения SYBASE : export SYBASE=/usr/local

2. Ставим freetds :

tar xzvf freetds-stable.tgz

cd freetds-0.82

./configure

make

make install

2. в конфиг /usr/local/etc/freetds.conf вписываем требуемый сервер:

[srv1]
host = 10.XX.XXX.XXX
port = 1433
tds version = 7.0

3. Ставим модуль для Perl DBD::Sybase

gunzip DBD-Sybase-1.09.tar.gz

tar xvf DBD-Sybase-1.09.tar

cd DBD-Sybase-1.09

perl Makefile.PL

make  — не получается выдает ошибки всякие.
долго роясь решил попробовать наложить патч: http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/cspublic.BLK_VERSION_150.patch

находим файл ctpublic.h (в SLES 10.2 лежит в /usr/local/include/) копируем туда патч и запускаем patch < cspublic.BLK_VERSION_150.patch

перед этим делая на всякий случай копию файла:  cp cspublic.h cspublic.h.orig

Потом для DBD-Sybase делаем
make
make install
Тогда все собирается и инсталируется

далее проверяем коннект:
#!/usr/bin/perl
use DBI;
my @data;
$dbh=DBI->connect(‘DBI:Sybase:server=srv1;database=electrosupply’,’trset’,’trset’) or
die «Couldn’t connect to database: » . DBI->errstr;

У меня все заработало.

Использованные ссылки:

http://www.opennet.ru/base/dev/perl_mssql.txt.html
http://www.freetds.org/software.html
http://lists.ibiblio.org/pipermail/freetds/2009q1/024260.html
http://lists.ibiblio.org/pipermail/freetds/2005q3/019030.html
http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA image