Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Perl, DBI, MySQL] connect и rollback, странность, странная ошибка с "mysql_auto_reconnect" 
:(
    Опции темы
ochnev
Дата 20.4.2007, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



Перловый CGI-скрипт отрабатывает нормально, но в логе ошибок Apache каждый раз появляется такая запись:
Цитата

[Thu Apr 19 23:43:25 2007] search_results.pl: Issuing rollback() for database handle being DESTROY'd without explicit disconnect() at DBOperations.pm line 51., referer:

("referer" опущен)

Строка 51, упомянутая в логе:
Код

$dbh->{mysql_auto_reconnect} = 1;

(непосредственно после connect'а)

"mysql_auto_reconnect" мне нужен для других скриптов того же сайта. Те скрипты работают как FastCGI, и им нужен постоянный коннект, который без "mysql_auto_reconnect" периодически некрасиво отваливался.
Этот скрипт - единственный, с которым возникает такая проблема, хотя "mysql_auto_reconnect" устанавливается везде для всех (и FastCGI, и CGI-скриптов) точно так же. Просто в модуль вынесены все операции с БД.

Вопрос:
Что может значить та ошибка и как её можно устранить?

PM MAIL   Вверх
djkostya
Дата 21.4.2007, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 16.5.2006
Где: Москва

Репутация: 1
Всего: 2



Я лично не работал с транзакциями из PERL только из хранимых процедур работал
Но вам надо после каждой втавки и удаления вызывать commint $rc  = $dbh->commit; то есть фиксацию данных или $rc  = $dbh->rollback;
наоборот не фиксировать данные....

Это сообщение отредактировал(а) djkostya - 21.4.2007, 09:22
PM MAIL WWW ICQ   Вверх
ochnev
Дата 21.4.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



В том скрипте делается только SELECT.
Единственное, что в нём такого особенного, это использование fulltext индекса для поиска.

PM MAIL   Вверх
KSURi
Дата 22.4.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 2
Всего: 27



Укажи AutoCommit => 1 при создании DBI объекта


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
ochnev
Дата 22.4.2007, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



Помогло.
Там почему-то AutoCommit => 0 стоял (я что-то забыл в начале), а при нём auto reconnect вообще не работает, насколько я помню из доков.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0607 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.