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

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

Специалистам ADO.NET: какой принцип работы с соединениями?


Курдль ©   (2004-05-31 23:08:00) 

Что значит "отсоединенный доступ"? Означает ли это, что Connection надо закрывать насильственно после каждого сеанса "запрос/НД"? Или система сама позаботится о прерывании связи после приема НД? Если первое, то следует ли вообще иметь какой-нибудь "централизованный" компонент подключения к БД, или лепить на каждой форме свой?
Я не могу сломить стереотипы и отказаться от испытанной стратегии работы приложения, использующего БД:
1. Открываешь главную форму.
2. Позволяешь юзеру вызвать окно логина.
3. При корректном логине открываешь соединение.
4. Во всех формах приложения используешь это соединение (DataBase/Session/Connection и т.п.) для доступа к БД.
5. После работы отключаешь соединение.


Курдль   (2004-06-01 00:19:00) [1]


> Sergey Masloff   (31.05.04 23:59) [3]

Так для того и создавались всякие невероятные объекты типа отсоединенного DataSet-а, повторяющие часть или даже всю структуру БД с ее таблицами, referenc-ами, constraint-ами и т.п.
Если бы существовала "версия-light" для малых нужд... А так ведь все равно приходится (и не без удовольствия) городить весь огород.


> Ломброзо ©   (01.06.04 00:06) [4]
> Исходя из практических соображений (то есть лени) я бы умучался
> на пару сотен форм кидать и настраивать Connection ))

Ну это как раз меньшая проблема, чем в некоторых .NET средах достучаться до объектов чужого класса (формы). Дизайнеры сами все делают - вплоть до заполнения всех запросов, согласно схемам.


Ломброзо   (2004-06-01 00:06:00) [2]

Исходя из практических соображений (то есть лени) я бы умучался на пару сотен форм кидать и настраивать Connection )) Во-вторых, MS клянётся, что у них работает Connection Pooling, т.е. даже если создано 200 компонентов с одинаковой строкой соединения, вполне возможно, что они шарят между собой всего один ресурс.

Но это только мои догадки, глубоко я не интересовался и не хочу). Приспичит - пойду Duwamish Books под .NET шукать и изучать.

А сложные примеры-то? Или все из одной формы состоят?


Sergey Masloff   (2004-05-31 23:59:00) [3]

Курдль   (31.05.04 23:44) [2]
>Connection-Adapter-DataSet где не попадя!
Это для больших систем где на одном сервере ОЧЕНЬ много юзеров. Ну представь 1000 коннектов открытых... Это знаешь какой сервер надо? А так у тебя нагрузка на клиенте. Каждый из них работает медленнее а в целом система быстрее.
 А на сервере пул коннектов, с этим сейчас просто. То есть при твоем подключении ресурсы сервера на создание коннекта правтически нулевые - он тебе из пула сует готовый и все.


Курдль   (2004-05-31 23:44:00) [4]

Я опасаюсь привыкнуть к некорректному стилю :(
У меня тоже работает, но во всех книгах в примерах упорно и безжалостно генерируют неразлучную тройку - Connection-Adapter-DataSet где не попадя!


Ломброзо   (2004-05-31 23:34:00) [5]

Шут его знает. У меня опыт работы с ADO.NET невелик, но в общем и целом в двузвенках создание синглтонного Connection в одном модуле и использование его из других модулей - работает.


Наверх

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