Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL и Delphi, server during query 
:(
    Опции темы
Неназываемый
  Дата 8.6.2005, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Моё приложение работает с удаленной БД MySQL.
При запуске программы происходит коннект.
Во время работы выполняются всяческие запросы к БД.

Но вот трабл, если к примеру интервал между запросами к БД превышает ~30 сек то вылетает экзепшн, с ошибкой "server during query". Если тут же отправить повторный запрос, всё нормально.

Пользовался компонентом ZeosDBO 6.5.1 а. Думал может дело в альфе. Поставил MyDAC 3.10.17. Таже самая байда.

При тестировании на локалхосте, подобного рода трабл не было. Естественно сделал вывод что проблема либо в настройках удаленной MySQL. Но вот какой параметр настроек отвечает за это, я не заню. А может есть программный способ лечения?
PM MAIL   Вверх
Vit
Дата 8.6.2005, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Поставить больше timeout на выполнение запроса. Посмотреть параметры блокировок накладываемых при запросе


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Неназываемый
Дата 9.6.2005, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



С таймаутом я игрался, не помогает.
А вот о параметрах блокировки впервые слышу. Можно по подробней?
PM MAIL   Вверх
Vit
Дата 9.6.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Нельзя поподробнее... Я не знаю как они организованы на MySQL... В кратце есть разные модели, когда ты например делаешь Update таблицы другой Select например может в это время быть выполнен или ему надо ждать окончание Update, или Запущены 2 Update - какой из них ждёт и степень распаралеливания выполнения...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Ikar
Дата 31.8.2005, 12:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Читать и крутить серверную переменную wait_timeout
  Вверх
SergeBS
Дата 1.9.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



Неназываемый
1. Ищи в компоненте соединения параметр KeepConnection. Если он false, то ты в паузе между запросами отваливаешься от сервера, а потом подсоединяешься.
2. Послал запрос - отслеживай состояние. Пока не будет готово. У ADOCommand например States.

А вообще - что-то у тебя не так. Либо в базе, либо в логике. Простейшие грабли:
- эксклюсивный захват какой-либо таблицы при неверной логике изменения данных, т.е. вместо "прочитал с сервера"-"изменил на клиенте"-"отослал на сервер" просто а-ля dbf прямо на сервере пытаешься править данные.
- просто эксклюсивный захват таблиц (ConnectMode)
- Isolation Level ненужной мощности.

Посмотри еще на загрузку сети и сервера. Ping-ани сервер.
У меня в свое время из-за дохловатой сетевухи был бешеный траффик (много битых пакетов) и проблемы с dbf - бились на ровном месте.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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