Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Общий коннект для COM объектов. [MSSQL]


sohat ©   (2004-02-11 10:09:00) 

Есть некий COM объект работающий с базой данных. При вызове COM объекта создается его копия. Соответственно создается новое подключение к базе данных, а энто довольно накладно.
Можно-ли пользоваться одним подключением во всех копиях COM объекта, и как это сделать?


just me   (2004-02-11 13:06:00) [1]

Если в качестве для соединения с базой используется ADO, то не нужно париться вообще. ADO connections pooling прекрасно все сделает. Нужно только настроить нужные параметры этого дела. И работать при этом нужно немного по-другому. Если нужны данные - подконнектился, взял что надо и отключился сразу же. А ненужные коннекции деактивируются, а не разрушаются. Нужно снова соединиться - коннекция активируется (не создается!), что весьма быстро и ресурсонеемко.


Dok_3D   (2004-02-11 10:43:00) [2]

Реализовать-то можно такое.
Только крепко подумай перед этим.
Сложи плюсы и минусы, и возможно поймешь, насколько тебе это нужно.


Michail Dalakov   (2004-02-11 10:25:00) [3]

Вынеси соединение с базой в отдельный модуль, и пусть все COM классы его используют. Но это неправильно. Лучше когда каждый
COM объект имеет свое соединение и свою транзакцию.

>Соответственно создается новое подключение к базе данных, а >энто довольно накладно.

Работа с БД вообще не быстрая вещь по сравнению со всем остальным, но с этим приходится мириться.
Создание первого подключения будет довольно долгим, всех остальных на порядок(рядки) быстрее. Если соединения еще и кэшируются, то говорить о "довольно накладно" нет смысла


Наверх

Титульная страница Поиск, карта сайта Написать письмо