Jeśli chcesz, aby połączenie było otwarte, po prostu zadzwoń
mysql::ping $dbhandle
od czasu do czasu.
Można to zrobić za pomocą czegoś takiego:
proc keepMySqlOpen {dbhandle} {
mysql::ping $dbhandle
after 2000 [list keepMySqlOpen $dbhandle]
}
....
set dbh [mysql::open ...]
keepMySqlOpen $dbh
...
Inną opcją jest użycie mysql::ping
przed uzyskaniem dostępu do bazy danych, co powinno zgodnie z podręcznikiem mysqltcl
w razie potrzeby podłącz ponownie. To może być najlepsze z obu światów (pozwól, aby połączenie zostało przerwane, jeśli nie ma dużej aktywności, w przeciwnym razie pozostaw otwarte).