URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 63503
[ Назад ]

Исходное сообщение
"как заставить перл понимать mysql"

Отправлено mic1 , 20-Янв-06 10:24 
FreeBSD perl5.8. при запуске перлового скрипта с командой use mysql ругается, что не находит mysql.pm. Это помойму как то доставлялось. Хоть убей не помню.

Содержание

Сообщения в этом обсуждении
"как заставить перл понимать mysql"
Отправлено Vlad , 20-Янв-06 10:41 
>FreeBSD perl5.8. при запуске перлового скрипта с командой use mysql ругается, что
>не находит mysql.pm. Это помойму как то доставлялось. Хоть убей не
>помню.


Так модуль для MySQL нужно установить, cd /usr/ports/databases/p5-DBI
вроде так


"как заставить перл понимать mysql"
Отправлено mic1 , 20-Янв-06 10:49 
>>FreeBSD perl5.8. при запуске перлового скрипта с командой use mysql ругается, что
>>не находит mysql.pm. Это помойму как то доставлялось. Хоть убей не
>>помню.
>
>
>Так модуль для MySQL нужно установить, cd /usr/ports/databases/p5-DBI
>вроде так


Я начинаю ставить модуль, а этот гад говорит что то типа "перл ужо установлен, аборт тебе" и все тут


"как заставить перл понимать mysql"
Отправлено madskull , 20-Янв-06 11:03 
>>FreeBSD perl5.8. при запуске перлового скрипта с командой use mysql ругается, что
>>не находит mysql.pm. Это помойму как то доставлялось. Хоть убей не
>>помню.
>
>
>Так модуль для MySQL нужно установить, cd /usr/ports/databases/p5-DBI
>вроде так

и
use DBI;


"как заставить перл понимать mysql"
Отправлено mic1 , 20-Янв-06 11:11 
>>>FreeBSD perl5.8. при запуске перлового скрипта с командой use mysql ругается, что
>>>не находит mysql.pm. Это помойму как то доставлялось. Хоть убей не
>>>помню.
>>
>>
>>Так модуль для MySQL нужно установить, cd /usr/ports/databases/p5-DBI
>>вроде так
>

>use DBI;


ей, не то.... Скрипт стандартный. Нада при подсчете трафика передать данные из текстовика в базу mysql. Так что use DBI не прет


"как заставить перл понимать mysql"
Отправлено Skif , 20-Янв-06 11:47 
>ей, не то.... Скрипт стандартный. Нада при подсчете трафика передать данные из
>текстовика в базу mysql. Так что use DBI не прет
Как раз очень даже и прет, именно он этим и занимается:
[skif@klo-podol.skif.com.ua] /usr/home/skif/:perldoc DBI


mach::DBI(3)          User Contributed Perl Documentation         mach::DBI(3)

NAME
       DBI - Database independent interface for Perl

SYNOPSIS
         use DBI;

         @driver_names = DBI->available_drivers;
         @data_sources = DBI->data_sources($driver_name, \%attr);

         $dbh = DBI->connect($data_source, $username, $auth, \%attr);

         $rv  = $dbh->do($statement);
         $rv  = $dbh->do($statement, \%attr);
         $rv  = $dbh->do($statement, \%attr, @bind_values);

         $ary_ref  = $dbh->selectall_arrayref($statement);
         $hash_ref = $dbh->selectall_hashref($statement, $key_field);

         $ary_ref  = $dbh->selectcol_arrayref($statement);
         $ary_ref  = $dbh->selectcol_arrayref($statement, \%attr);

         @row_ary  = $dbh->selectrow_array($statement);
         $ary_ref  = $dbh->selectrow_arrayref($statement);
         $hash_ref = $dbh->selectrow_hashref($statement);

         $sth = $dbh->prepare($statement);
         $sth = $dbh->prepare_cached($statement);

         $rc = $sth->bind_param($p_num, $bind_value);
         $rc = $sth->bind_param($p_num, $bind_value, $bind_type);
         $rc = $sth->bind_param($p_num, $bind_value, \%attr);


Ему для работы с mysql нужен драйвер DBD::mysql:

root@fbsd2 /usr/ports/databases/p5-DBD-mysql41 :perldoc DBD::mysql


mach::DBD::mysql(3)   User Contributed Perl Documentation  mach::DBD::mysql(3)

NAME
       DBD::mysql - MySQL driver for the Perl5 Database Interface (DBI)

SYNOPSIS
           use DBI;

           $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";

           $dbh = DBI->connect($dsn, $user, $password);

           $drh = DBI->install_driver("mysql");
           @databases = DBI->data_sources("mysql");
              or
           @databases = DBI->data_sources("mysql",
                                          {"host" => $host, "port" => $port});

           $sth = $dbh->prepare("SELECT * FROM foo WHERE bla");
              or
           $sth = $dbh->prepare("LISTFIELDS $table");
              or
           $sth = $dbh->prepare("LISTINDEX $table $index");
           $sth->execute;
           $numRows = $sth->rows;
           $numFields = $sth->{'NUM_OF_FIELDS'};
           $sth->finish;

           $rc = $drh->func('createdb', $database, $host, $user, $password, 'admin');
           $rc = $drh->func('dropdb', $database, $host, $user, $password, 'admin');
           $rc = $drh->func('shutdown', $host, $user, $password, 'admin');
           $rc = $drh->func('reload', $host, $user, $password, 'admin');

Так что вам дали абсолютно правильные рекомендации. Просто вы не прислушиваетесбь к ним, а пытаетесь городить неизвестно что. В таком случе сформулируйте правильно задачу или отправляйтесь на форум программеров perl, что-то из разряда http://www.webscripts.ru


"как заставить перл понимать mysql"
Отправлено mic1 , 20-Янв-06 13:19 
>>ей, не то.... Скрипт стандартный. Нада при подсчете трафика передать данные из
>>текстовика в базу mysql. Так что use DBI не прет
>Как раз очень даже и прет, именно он этим и занимается:
>[skif@klo-podol.skif.com.ua] /usr/home/skif/:perldoc DBI
>
>
>
>
>
>
>
>
>
>
>mach::DBI(3)          User Contributed
>Perl Documentation         mach::DBI(3)
>
>
>
>
>NAME
>       DBI - Database independent interface
>for Perl
>
>SYNOPSIS
>         use DBI;
>
>         @driver_names = DBI->available_drivers;
>         @data_sources = DBI->data_sources($driver_name, \%attr);
>
>         $dbh = DBI->connect($data_source, $username, $auth, \%attr);
>
>         $rv  = $dbh->do($statement);
>         $rv  = $dbh->do($statement, \%attr);
>         $rv  = $dbh->do($statement, \%attr, @bind_values);
>
>         $ary_ref  = $dbh->selectall_arrayref($statement);
>         $hash_ref = $dbh->selectall_hashref($statement, $key_field);
>
>         $ary_ref  = $dbh->selectcol_arrayref($statement);
>         $ary_ref  = $dbh->selectcol_arrayref($statement, \%attr);
>
>         @row_ary  = $dbh->selectrow_array($statement);
>         $ary_ref  = $dbh->selectrow_arrayref($statement);
>         $hash_ref = $dbh->selectrow_hashref($statement);
>
>         $sth = $dbh->prepare($statement);
>         $sth = $dbh->prepare_cached($statement);
>
>         $rc = $sth->bind_param($p_num, $bind_value);
>         $rc = $sth->bind_param($p_num, $bind_value, $bind_type);
>         $rc = $sth->bind_param($p_num, $bind_value, \%attr);
>
>
>Ему для работы с mysql нужен драйвер DBD::mysql:
>
>root@fbsd2 /usr/ports/databases/p5-DBD-mysql41 :perldoc DBD::mysql
>
>
>mach::DBD::mysql(3)   User Contributed Perl Documentation  mach::DBD::mysql(3)
>
>
>
>NAME
>       DBD::mysql - MySQL driver for
>the Perl5 Database Interface (DBI)
>
>SYNOPSIS
>           use
>DBI;
>
>           $dsn
>= "DBI:mysql:database=$database;host=$hostname;port=$port";
>
>           $dbh = DBI->connect($dsn, $user, $password);
>
>           $drh = DBI->install_driver("mysql");
>           @databases = DBI->data_sources("mysql");
>            
>  or
>           @databases = DBI->data_sources("mysql",
>                                          {"host" => $host, "port" => $port});
>
>           $sth = $dbh->prepare("SELECT * FROM foo WHERE bla");
>            
>  or
>           $sth = $dbh->prepare("LISTFIELDS $table");
>            
>  or
>           $sth = $dbh->prepare("LISTINDEX $table $index");
>           $sth->execute;
>           $numRows = $sth->rows;
>           $numFields = $sth->{'NUM_OF_FIELDS'};
>           $sth->finish;
>
>           $rc = $drh->func('createdb', $database, $host, $user, $password, 'admin');
>           $rc = $drh->func('dropdb', $database, $host, $user, $password, 'admin');
>           $rc = $drh->func('shutdown', $host, $user, $password, 'admin');
>           $rc = $drh->func('reload', $host, $user, $password, 'admin');
>
>
>
>Так что вам дали абсолютно правильные рекомендации. Просто вы не прислушиваетесбь к
>ним, а пытаетесь городить неизвестно что. В таком случе сформулируйте правильно
>задачу или отправляйтесь на форум программеров perl, что-то из разряда http://www.webscripts.ru
>

рекомендации правильные, но не полные. Был конфликт между версиями клиентов mysql. Поэтому модули и не ставились. Спасибо всем за помощ.