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