Ответ 1
Если у вас есть root, введите консоль (Debian/Ubuntu):
sudo apt-get install libdbi-perl
Я пытаюсь запустить этот script:
#!/usr/bin/perl
use DBI;
my $dbh = DBI->connect( 'dbi:Oracle:host=lonlin2;sid=TIMFX1AD;port=1524','xbsesdbo','xbsesdbo123' ) || die ( $DBI::errstr . "\n" );
my $query= "SELECT * FROM product_elements WHERE element_id = 1001";
my $queryHandler= $dbh->prepare($query);
my $result= $queryHandler->execute();
open(fileHandler,"> note.txt");
print fileHandler "Risultato query: $result\n";
my $e= $dbh->disconnect();
close(fileHandler);
Когда я запускаю этот script, я получаю эту ошибку:
Невозможно найти DBI.pm в @INC (@INC содержит:/opt/perl_32/lib/5.8.3/IA64.ARCHREV_0-thread-multi/opt/perl_32/lib/5.8.3/opt/perl_32/lib/site_perl/5.8.3/IA64.ARCHREV_0-thread-multi/opt/perl_32/lib/site_perl/5.8.3/opt/perl_32/lib/site_perl/opt/perl_32/lib/vendor_perl/5.8.3/IA64.ARCHREV_0-thread-multi/opt/perl_32/lib/vendor_perl/5.8.3/opt/perl_32/lib/vendor_perl.) В строке. /prova.pl 3.
У меня все установлено! DBI.pm установлен!
Если у вас есть root, введите консоль (Debian/Ubuntu):
sudo apt-get install libdbi-perl
Если у вас нет активного perl (и, следовательно, нет ppm), вы также можете получить DBI следующим образом:
perl -MCPAN -e 'install DBI'
Вам может потребоваться установить драйверы для Postgres следующим образом:
perl -MCPAN -e 'install DBD::Pg'
DBI не находится в вашем пути @INC
, который сообщает perl, где искать пользовательские модули. Вероятно, это связано с тем, что вы установили их с помощью инструмента cpan
в качестве пользователя без полномочий root, который не будет иметь доступ на запись к путям по умолчанию.
Вам нужно найти DBI.pm
и другие пакеты и переместить их в свой путь @INC
.
Кроме того, найдите пакеты, которые вы установили, и добавьте путь установки в свой путь к библиотеке, для одноразового использования:
PERL5LIB=/path/to/modules perl yourscript.pl
И для более постоянного решения добавьте это в ~/.bashrc
:
export PERL5LIB=/path/to/modules
Для пользователей redhat/centos:
sudo yum -y install perl-DBI