![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отсоединенный набор в 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; интересно, что попытка повторного подключения не создает нового процесса на сервере, а текущий убивается сразу если закрыть приложение целиком.
Похоже я чего-то не понимаю в этой жизни :(