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

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

Отсоединенный набор в MS SQL [D6, MSSQL]


AlexGof ©   (2003-04-30 12:35:00) 

Здравствуйте мастера ! Вопрос такой, даже чисто для интереса.
Решил проэксперементировать с отсоединенным набором в Дельфи BatchOptimistic (тип блокировки). Решил на время просмотра и вставки записей в DataSet отключить соединение с сервером. Поставил такой эксперимент:
ADODataSet.ACtive:=true;
ADOConnection.Connected:=false;
все выборки из ADODataSet пропали, затем сделал так
ADODataSet.ACtive:=true;
ADODataSet.Connection:=nil;
ADOConnection.Connected:=false;
все нормально выборки все на месте. Проверяю кол-во присоединенных пользоваелей к серверу и все равно вижу себя присоединенным. А как тогда это свойство Connected работает не пойму. Объясните если кто знает, как правильно сделать ?


BlackTiger   (2003-04-30 20:29:00) [1]

Это вполне нормально. Называется "ADO connection pooling". Смысл в том, чтобы не открывать заново соединение, если такое уже было. На открытие соединения тратится время и ресурсы, а тут - просто берется соединение из кэша.

Нафига надо - не понятно, если ты работаешь через одно постоянное соединение, но такая весчь присутствует.

Сессия полностью закроется (кодом) только при ADOConnection1.Free.


jocko   (2003-04-30 14:32:00) [2]

Думаю надо принять как факт, кстати BatchOptimistic тут не причем, как и ADODataSet.Connection:=nil; интересно, что попытка повторного подключения не создает нового процесса на сервере, а текущий убивается сразу если закрыть приложение целиком.
Похоже я чего-то не понимаю в этой жизни :(


Наверх

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