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

Исходное сообщение
"Perl модуль DBD::InterBase и Firebird"

Отправлено nowice , 12-Авг-08 14:25 
Добрый день!

Потребовалось поставить модуль DBD-InterBase. Firebird находится на другом компе. Устанавливаю модуль, он начинает говорить, что Firebird не установлен, и поэтому не может закончить установку... Конечно есть возможность поставить Firebird, создать базу...

Но может есть путь установки без теста, или с тестом, но чтобы обращение шло на удаленный сервак?
А то не желательно чтобы просто так болталcя сервак с пустой базой.


Содержание

Сообщения в этом обсуждении
"Perl модуль DBD::InterBase и Firebird"
Отправлено rav_g , 13-Авг-08 13:38 
>Добрый день!
>
>Потребовалось поставить модуль DBD-InterBase. Firebird находится на другом компе. Устанавливаю модуль, он
>начинает говорить, что Firebird не установлен, и поэтому не может закончить
>установку... Конечно есть возможность поставить Firebird, создать базу...
>
>Но может есть путь установки без теста, или с тестом, но чтобы
>обращение шло на удаленный сервак?
>А то не желательно чтобы просто так болталcя сервак с пустой базой.
>

Видимо, нужно поставить клиента Firebird. Если напишете какая ОС, попробую объяснить как.


"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 13-Авг-08 14:02 
>[оверквотинг удален]
>>начинает говорить, что Firebird не установлен, и поэтому не может закончить
>>установку... Конечно есть возможность поставить Firebird, создать базу...
>>
>>Но может есть путь установки без теста, или с тестом, но чтобы
>>обращение шло на удаленный сервак?
>>А то не желательно чтобы просто так болталcя сервак с пустой базой.
>>
>
>Видимо, нужно поставить клиента Firebird. Если напишете какая ОС, попробую объяснить как.
>

ОС  FreeBSD 6.2

первым делом поставил Firebird Client. Когда начинаю ставить DBD-InterBase из портов, или CPAN, или просто пакет скачиваю, делаю:

perl Makefile.PL

после сборки просит указать место расположения Firebird Server, постом просит указать базу для тестирования, если ее нет, то он сам пытается создать. Естественно базу он просит локальную, с локальным расположением сервера. И без теста продолжения установки не происходит.
Не могу поверить, что не предусмотрена установка без теста.

Уже второй день убиваю.


"Perl модуль DBD::InterBase и Firebird"
Отправлено co6aka , 13-Авг-08 14:20 
Ну дай ему удаленную базу пусть подключиться!

"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 13-Авг-08 14:30 
>Ну дай ему удаленную базу пусть подключиться!

Пробовал, но он требует локальную базу и локальный сервер.


"Perl модуль DBD::InterBase и Firebird"
Отправлено Pahanivo , 26-Авг-08 07:51 
>>Ну дай ему удаленную базу пусть подключиться!
>
>Пробовал, но он требует локальную базу и локальный сервер.

Попробуй выставить переменную FORCE=1  - те форсированная установка несмотря на провал тестов. С mysql модулями это канает по крайней мере.


"Perl модуль DBD::InterBase и Firebird"
Отправлено rav_g , 13-Авг-08 14:27 
>[оверквотинг удален]
>
>perl Makefile.PL
>
>после сборки просит указать место расположения Firebird Server, постом просит указать базу
>для тестирования, если ее нет, то он сам пытается создать. Естественно
>базу он просит локальную, с локальным расположением сервера. И без теста
>продолжения установки не происходит.
>Не могу поверить, что не предусмотрена установка без теста.
>
>Уже второй день убиваю.

Спрашивает на этапе perl Makefile.PL или когда делаешь make install?
Если на этапе perl Makefile.PL тогда только ковырять Makefile.PL на предмет соответствующих опций или просто кусок кода, отвечающий за тесты.


"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 13-Авг-08 14:35 
>[оверквотинг удален]
>>для тестирования, если ее нет, то он сам пытается создать. Естественно
>>базу он просит локальную, с локальным расположением сервера. И без теста
>>продолжения установки не происходит.
>>Не могу поверить, что не предусмотрена установка без теста.
>>
>>Уже второй день убиваю.
>
>Спрашивает на этапе perl Makefile.PL или когда делаешь make install?
>Если на этапе perl Makefile.PL тогда только ковырять Makefile.PL на предмет соответствующих
>опций или просто кусок кода, отвечающий за тесты.

спрашивает на этапе perl Makefile.PL
Сейчас попробуе поковырять...


"Perl модуль DBD::InterBase и Firebird"
Отправлено rav_g , 13-Авг-08 14:29 
>[оверквотинг удален]
>
>perl Makefile.PL
>
>после сборки просит указать место расположения Firebird Server, постом просит указать базу
>для тестирования, если ее нет, то он сам пытается создать. Естественно
>базу он просит локальную, с локальным расположением сервера. И без теста
>продолжения установки не происходит.
>Не могу поверить, что не предусмотрена установка без теста.
>
>Уже второй день убиваю.

А как вариант дать ему протеститься, установиться, а потом просто грохнуть базу вместе с сервером - для работы DBD они не нужны - нужен только клиент.


"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 13-Авг-08 14:34 
>[оверквотинг удален]
>>для тестирования, если ее нет, то он сам пытается создать. Естественно
>>базу он просит локальную, с локальным расположением сервера. И без теста
>>продолжения установки не происходит.
>>Не могу поверить, что не предусмотрена установка без теста.
>>
>>Уже второй день убиваю.
>
>А как вариант дать ему протеститься, установиться, а потом просто грохнуть базу
>вместе с сервером - для работы DBD они не нужны -
>нужен только клиент.

Этот вариант я оставил напоследок. Но я думаю, если такая жесткая привязка, то наверняка какие-нибудь привязки к библиотекам сервера используются.


"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 26-Авг-08 06:34 
>
>Видимо, нужно поставить клиента Firebird. Если напишете какая ОС, попробую объяснить как.
>

Пришлось действительно поставить Firebird, только после этого DBD-InterBase установился.
И тут же возникла другая проблема, пишу скрипт:

#!/usr/bin/perl

use DBI;

$host = "localhost";
$port = "3050";
$user = "user";
$pass = "pass";
$table="LOGS";
$db = "путь к базе/BASE.GDB";
$dsn="dbi:InterBase:db=$db;host=$host;port=$port";

$dbh = DBI->connect($dsn, $user, $pass) || die "[err]: Can't connect to Firebird: $!";

Выдает ошибку:

Segmentation fault (core dumped)

Пробовал все снова поставить, пробовал указывать не localhost... результат тот-же.


"Perl модуль DBD::InterBase и Firebird"
Отправлено rav , 26-Авг-08 06:56 
>[оверквотинг удален]
>$db = "путь к базе/BASE.GDB";
>$dsn="dbi:InterBase:db=$db;host=$host;port=$port";
>
>$dbh = DBI->connect($dsn, $user, $pass) || die "[err]: Can't connect to Firebird: $!";
>
>Выдает ошибку:
>
>Segmentation fault (core dumped)
>
>Пробовал все снова поставить, пробовал указывать не localhost... результат тот-же.

Ставили из портов? Если нет, нужно проследить совместимость версий модуля DBI::InterBase и клиента Firebird. Проверьте работоспособность клиента. Если да, попробуйте обновить порты...

Попробуйте так:
$dbh = DBI->connect("DBI:interbase:database=$db;host=$host", $user,$pass, {PrintError => 1, RaiseError => 1}),
может хоть какую ошибку выведет...


"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 26-Авг-08 07:35 
>
>Ставили из портов? Если нет, нужно проследить совместимость версий модуля DBI::InterBase и
>клиента Firebird. Проверьте работоспособность клиента. Если да, попробуйте обновить порты...
>
>Попробуйте так:
>$dbh = DBI->connect("DBI:interbase:database=$db;host=$host", $user,$pass, {PrintError => 1, RaiseError => 1}),
>может хоть какую ошибку выведет...

Проблема решилась!

в общем раньше ставил так:
из портов: Firebird2.0.0-server, Firebird2.0.0-client, Perl5.8.8
скачаный: DBD-InterBase-0.48

была проблема с установкой DBD, т.к. требовал базу... , потом возникла проблема с Segmentation fault.

Потом все снес, и поставил из портов: firebird1.5.3-client, p5-DBD-InterBase-0.44 все прошло без проблем, и требований базы... скрипт заработал.

Всем спасибо! :)))


"Perl модуль DBD::InterBase и Firebird"
Отправлено angra , 14-Авг-08 00:35 
попробуйте
cpan> notest install DBD::InterBase

"Perl модуль DBD::InterBase и Firebird"
Отправлено nowice , 14-Авг-08 06:25 
>попробуйте
>cpan> notest install DBD::InterBase

cpan ругается на notest, пробовал force install DBD::InterBase ругается аналогично:

  CPAN.pm: Going to build E/ED/EDPRATOMO/DBD-InterBase-0.48.tar.gz

Cannot proceed. Aborting..
I cannot find your InterBase/Firebird installation.
DBD::InterBase cannot build or run without InterBase.
at Makefile.PL line 311
Running make test
  Make had some problems, maybe interrupted? Won't test
Running make install
  Make had some problems, maybe interrupted? Won't install