Perl и MsSQL

On 16.02.2010, in FreeBSD, Linux, Программирование, by Passenger

Нестандартное решение не правда ли? Проприетарный microsoft блин. Для коннекта с mssql можно использовать драйвера с открытым исходным кодом FreeTDS (Sybase).

Так получилось, что драйвер для коннекта с MsSQL и Sybase схожи. FreeTDS выступает в роли виртального драйвера (так как может использоваться и для коннекта с другими БД)

Устанавливаем необходимые пакеты
FreeBSD

pkg_add -R p5-DBD-Sybase

При установке у вас появятся и зависимые пакеты:

p5-storable
p5-DBI
FreeTDS

Ubuntu

apt-get install libdbd-sybase-perl

Проверяем, какие драйверы баз данных нам доступны:

#!/usr/bin/perl
use DBI;
foreach (DBI -> available_drivers) {print "$_\n"}

Тестируем соединение с MsSQL

#!/usr/bin/perl

use DBI;

my ($host,$port,$database,$user,$pass) = ("192.168.0.1","1433","test_base","user","pass");

my $dbh = DBI -> connect("DBI:Sybase:server=$host:$port;database=$database",$user,$pass);
my $sth = $dbh -> prepare('select @@VERSION;');
$sth -> execute();
print "Database: " . $sth -> fetchrow_array();

$dbh->disconnect();

P.S. присутствуют проблемы в FreeBSD при использовании Perl 5.10

Tagged with:  

2 Responses to Perl и MsSQL

  1. Sadok:

    Дополню. Надо еще поправить /usr/local/etc/freetds.conf на предмет версии протокола. Что-то типа

    [mssql.server.ru]
    host = 192.168.100.200
    port = 1433
    tds version = 8.0

  2. admin:

    Если чесно — то freetds.conf я не правил — коннект устанавливается.

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>