Mysql timeout?

ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Tuko_G
Бывалый
Сообщения: 95
Зарегистрирован: 09 Декабрь 2005, 10:47
Откуда: Tbilisi, Georgia
Контактная информация:

Mysql timeout?

Сообщение Tuko_G »

Здравствуйте

Clarion 6.3 , DB - Mysql

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

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

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

спасибо заранее
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Re: Mysql timeout?

Сообщение Дед Пахом »

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
С уважением, ДП
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Mysql timeout?

Сообщение Алексей- Софт-Центр »

Добрый день!
То есть в ini-файле надо написать что-то вроде wait_timeout=60 для разрыва соединения после одной минуты простоя
Не всегда есть доступ к настройкам MySql.

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

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

Алексей
Ответить