![]() |
|
Модераторы: gambit |
![]()
|
|
| Fomaa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
Как вы думаете как лучше будет:
- создать один раз System.Data.SqlClient.SqlConnection и все время его использовать? или - каждый раз создавать System.Data.SqlClient.SqlConnection ? |
|||
|
||||
| unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
Один раз создаёшь этот объект и везде для этой базы данных его используешь. Когда надо соединение открываешь и закрываешь, хотя в некоторых случаях это делается само, контроль все равно необходим. -------------------- ![]() обычный день на винграде |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Золотое правило: держать соединение открытым только на время запроса(ов). Количество одновременно открытых соединений у всех СУБД ограничено.
-------------------- ![]() |
|||
|
||||
| Fomaa |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 27.6.2007 Репутация: нет Всего: нет |
А вот пример кода, где создается соединение
Обязательно вызывать connection.Close() или по завершению процедуры автоматически закроется соединение в сборщике мусора ???????? и как узнать сколько открытых соединений на данный момент? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Обязательно. Можно using использовать для удобства. В SQL Manager-е есть окно с инфой по соединениям открытым в данный момент. -------------------- ![]() |
|||
|
||||
| unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
[quote]
Метод Close используется для отката любых транзакций в состоянии ожи |
|||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: нет Всего: 5 |
Иными словами, "сервер не железный", открыл коннект - будь добр закрыть, когда его отработал. Это вопрос минимизации потребления ресурсов и правило хорошего тона в программировании. Если что-то заюзал, то после отработки закрой.
Сколько использовать соединений? Если ты не делаешь multi-threading, то одного тебе должно хватить (как правило). Если сервер БД поддерживает пулинг, то затраты на установку/закрытие соединения даже близко не критичны. Но это тема для отдельного разговора. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |