![]() |
|
![]() ![]() ![]() |
|
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
В основом потоке расположен TSQLConnection и два TSQLStoredProc
Далее действия: 1) соединение с базой (mysql) 2) запуск вспомогательного потока (в нем в цикле выполняются запрос к базе через вышеупомянутый коннект и первый сторедпрок) 3) запускается таймер в основном потоке в котором происходят периодические обращения к базе через второй сторедпрок Собственно процес идет без видимых проблем.... за исключением, того, что на каждое обращение к базе (из основного или вспомогательного потока) открывается новое соединение на уровне TCP, но при этом само не закрывается по завершению обращения.... Собственно сильно тревожат эти не закрытые соединения... тк рано или позно они приведут к отказу сервера по числу соединений... что очень плохо... Хотелось бы либо понять как их закрывать, либо понять как правильно работать через один TSQLConnection несколькими потоками. PS: если отключить вспомогательный поток, то новые соединения не появляются. -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Может я както неправильно изъясняюсь? Не спорю такое может быть... так поправьте....
проблема того, что множатся соединения зарыта в AutoClone... это если кому интересно... Но вот как организовать AutoDeClone или хотябы ManualDeClone. В этом то и вопрос... Переменная клона живет только внутри процедуры, как до него достучаться извне мне не понятно... -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
Собственно вопрос решен... конечно не так красиво как хотелось... но все же...
- отключить AutoClone - в доп потоке создаем слон ручками - делаем то что нужно в базе - удаляем слон -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |