2013-11-20 2 views
0

Каков эффект множественного tadoconnection? Вот что я сделал:Влияние множественного TADOConnection

  1. Я поместил TADOConnection почти в каждую форму в своем приложении.
  2. Эти TADOConnection будут подключаться к базе данных (MySQL) каждый раз, когда я создаю экземпляр формы.

При среднем использовании приложения будет использовано около 15 форм (15 подключений tadoconnections, подключенных к базе данных). Пока мое приложение работает бесперебойно. Но вчера пользователь пожаловался на ошибку «MySQL ушел». Я столкнулся с этой ошибкой в ​​прошлом, и это было связано с тем, что данные слишком велики или аппаратная проблема. Но сегодня данные невелики, а оборудование находится в отличном состоянии. Кстати, соединение локально. Произошла ли множественная tadoconnection ошибка?


+0

1) Это сообщение об ошибке звучит обычай, я сомневаюсь, что это происходит от подключения ADO, 2) Вы никогда не должны были создать несколько компонентов ADO Connection - всего по 1 на поток. Поэтому, если вы не используете многопоточность, у вас должно быть только одно соединение. –

+0

1. Ошибка не является обычным, это другой текст, но главное сообщение об ошибке - mysql. 2. Мы использовали множественное tadoconnection, потому что это уже практикуется, это похоже на 1 tadoconnection или множественное tadoconnection. Если мы собираемся сделать это только 1 tadoconnection (потому что наши приложения не являются потоковыми), тогда мне нужна действительная причина, мне нужно знать, что именно является результатом множественного tadoconnection, потому что есть так много исправлений, если мы исправим это .. – Ago

+0

Кто-то, безусловно, даст лучшее объяснение, чем я, но главная проблема заключается в первоначальном подключении. В вашей среде могут возникнуть проблемы с начальным подключением, но в других средах (например, медленный поиск DNS и многие другие) первоначальное подключение может занять много секунд или даже минут. Я сам столкнулся с этой проблемой так, как вы, и разрешил ее, только используя ее. Кроме того, управление одним соединением из одного места намного проще, чем по одному для каждой формы. Представьте себе, через 5 лет, когда вы закончите с 30 формами и большой базой данных. –

ответ

1

Эффект нескольких ADOConnections заключается в том, что вы открываете несколько независимых сеансов в базе данных. Я Wouldnt рекомендую ваше решение, принимая во внимании Transactionmanagement и блокировке таблице

Сервера ушел: http://dev.mysql.com/doc/refman/5.1/en/gone-away.html

+2

«Сервер MySQL ушел». Решил пойти искать зеленые пастбища. –

Смежные вопросы