![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
perlovka1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.4.2009 Репутация: нет Всего: нет |
Добрый день!
Проблема следующая. Есть код запроса в базу данных Postgres:
При выполнении данного кода из CGI, скрипт делает die на строке $rv = $sth->execute() or die; Если этот же код запускать из командной строки, то всё работает хорошо, данные из базы извлекаются. Есть ещё одна база с аналогичной структурой, отличается только именем, владельцем и данными. При обращении к этой базе CGI-скрипт не умирает. С правами порядок, иначе die был бы на стадии коннекта к базе. С запросом тоже порядок, т.к. он выполняется из командной строки, а также через PgAdmin III. В чём проблема, понять не могу. Кто-нибудь может подсказать? Заранее спасибо! |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
die $dbh->errstr ?
|
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Скорее всего в проблема в переменных окружения.
При работе в CGI режиме - они переназначаются. При подключении к базе данных клиент (драйвер) пытается получить хост \ порт \ имя базы \ имя юзера из параметров, если не удается - из переменных окружения PGHOST PGPORT PGDATABASE PGUSER В командной строке - эти переменные проставлены, в CGI - нет. Сравните их. А еще проверьте dbname=$dbname - скорее всего имя базы задается не так |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |