Автор Тема: disconnect в DBI  (Прочитано 4903 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dart Sidius

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://khv.rhk.ru
disconnect в DBI
« : 19 Марта 2005, 12:16:17 »
Возник такой вопрос...коннекчусь к базе
$dbh = DBI->connect("DBI:mysql:database=$sql_database;host=$sql_hostname;port=$sql_port", $sql_user, $sql_password) || die $DBI::errstr;

делаю чего-нибудь

потом

$dbh->disconnect() - разрываю соединение...
но почему то я потом и дальще могу работать с переменной $dbh...т.е.. получается от сервака я отконнектился а переменная просто содержит данные, которые я снял раньше?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
disconnect в DBI
« Ответ #1 : 19 Марта 2005, 13:30:50 »
from perldoc DBD::mysql

Цитировать

DBD::mysql has a "reconnect" feature that handles the so-called
MySQL "morning bug": If the server has disconnected, most probably
due to a timeout, then by default the driver will reconnect and
attempt to execute the same SQL statement again. However, this
behaviour is disabled when AutoCommit is off: Otherwise the
transaction state would be completely unpredictable after a
reconnect.  


Т.е. так и задуманно ; )
0 OK, 0:1

Оффлайн Dart Sidius

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://khv.rhk.ru
disconnect в DBI
« Ответ #2 : 19 Марта 2005, 18:03:03 »
А ещё такой вопрос...обязательно ли тогда использовать $dbh->disconnect() ?...получается что через некоторое время сервер сам порвёт соединение:?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
disconnect в DBI
« Ответ #3 : 19 Марта 2005, 18:18:09 »
В perldoc DBI этому посвящен достаточно большой обзац, чтобы его выкладывать сюда. Рекомендую прочитать.
Также рекомендую к прочтению perldoc Apache::DBI по части disconnect\'а, если данный модуль планируется использовать.
0 OK, 0:1

Оффлайн Dart Sidius

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://khv.rhk.ru
disconnect в DBI
« Ответ #4 : 20 Марта 2005, 06:23:13 »
Ты на пальцах объясни....я использую только модуль DBI...я слышал что вообще после окончания работы скрипта соединение само закроется без проблем

Оффлайн Dart Sidius

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://khv.rhk.ru
disconnect в DBI
« Ответ #5 : 20 Марта 2005, 12:51:47 »
...ответьте пожалуйста на сабж

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
disconnect в DBI
« Ответ #6 : 20 Марта 2005, 13:51:13 »
Дальнеейшее продолжение данной темы в том же духе может быть воспринято как флуд. В документации дан предельно четкий ответ по этой теме включая все возможные нюансы.
0 OK, 0:1

Оффлайн Dart Sidius

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://khv.rhk.ru
disconnect в DBI
« Ответ #7 : 21 Марта 2005, 05:17:52 »
Тебе что ответить сложно?...кто интересно таких модераторов набрал....

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
disconnect в DBI
« Ответ #8 : 21 Марта 2005, 16:03:29 »
Dart Sidius, ondr и так тебе больше чем нужно подсказал.
Никто за тебя читать перлдок не будет. Запомни это.

Тема закрыта.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28