Страница 1 из 1

Mysql timeout?

Добавлено: 11 Март 2011, 15:23
Tuko_G
Здравствуйте

Clarion 6.3 , DB - Mysql

БД Mysql находиться в другом городе.

откриваю клиентскую программу все работает нармально, если нет активности в течении несколько минут то после этого теряется связ с сервером.

как лечить? ( может быть какое нибуть ODBC настроики нужни )

спасибо заранее

Re: Mysql timeout?

Добавлено: 11 Март 2011, 17:20
Дед Пахом
Tuko_G писал(а):БД Mysql находиться в другом городе.
откриваю клиентскую программу все работает нармально, если нет активности в течении несколько минут то после этого теряется связ с сервером.
как лечить? ( может быть какое нибуть ODBC настроики нужни )
Я занимался этим немного и выяснил, что в MySql есть флажок wait_timeout, определяющий время (в секундах) до закрытия соединения (если нет активности). То есть в ini-файле надо написать что-то вроде wait_timeout=60 для разрыва соединения после одной минуты простоя. По умолчанию равно 28800, то есть 8 часов, так что если у вас соединение рвётся очень быстро, значит, в настройках сервера явно указано маленькое значение wait_timeout.
Вот тут можно почитать: http://dev.mysql.com/doc/refman/5.1/en/ ... it_timeout

Re: Mysql timeout?

Добавлено: 14 Март 2011, 13:02
Алексей- Софт-Центр
Добрый день!
То есть в ini-файле надо написать что-то вроде wait_timeout=60 для разрыва соединения после одной минуты простоя
Не всегда есть доступ к настройкам MySql.

Я делаю следующим образом:
В свойствах окна устанавливаю значение таймера 6000.
В embeds для таймера вставляю текст типа:

Clarion1{prop:sql}='call orders.SelPri();'
mmm=format(clock(),@T1)
display
На экране окна висит время (mmm).
Пользователи знают (по своему опыту), что если окно без "часиков", то это может привести к отключению от сервера.
Хранимая процедура - практически ничего не делает.
Это можно сделать для всех окон, но я делаю только для тех, отключение от которых может привести к сбою работы программы.

Алексей