powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Блокировка процессов при работе с SQL
5 сообщений из 5, страница 1 из 1
Блокировка процессов при работе с SQL
    #35627310
Chaki_Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма, DataGridView, быбор данных с MS SQL Server. Выборка работает несколько минут. Если закрыть форму когда данные не досчитались, форма исчехает, но в процессах продолжает работать. При попытке еще раз включить данную форму, и нажать выбор данных, происходит то, что к БД вешается несколько коннектов, на выборку одних и тех же данных, и таких может быть столько, сколько было недозавершенных выборок. ИТОГ: на сервере висят несколько коннектов, которые блокируют выборки друг друга, и сервер загружается на 100%, вообще ничего невозможно посщитать. По моему мнению есть 2 решения (нужно недопустить запуска второй выборки, пока работает первая):
1. Блокировать запуск формы, если аналогичная висит в процессах.
2. Блокировать запуск выборки на сервере SQL, если данный коннект уже существует (т.е. непозволять коннектиться данному юзеру, если уже он включен).
Если кто знает, напишите код, которым можно реализовать или то, или то (только прошу, не пишити ответов: используй блокировку того, или того... одним словом, мне нужно решение, которое я смогу использовать). Спасибо, если кто поможет.
...
Рейтинг: 0 / 0
Блокировка процессов при работе с SQL
    #35628608
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Тупо не дать закрыть форму.
2. Выделить запрос в отдельную нить и контролировать - работает нить или нет. В С# хорошие средства синхронизации.
3. Использовать один коннект на все и в pool его не сдавать. Я так делаю. Хоть это и не по науке, зато проблемы с несколькими коннектами у меня быть не может. Для толстого клиента пул - это сплошной источник дурных проблем. Коннект мне все равно нужен лишь один в пределах компьютера и смысл в управлении соединениями теряется.
...
Рейтинг: 0 / 0
Блокировка процессов при работе с SQL
    #35630953
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to : Chaki_Black
используй Mutex или Lock

to : Щиче
ты сильно не прав в пункте 3
...
Рейтинг: 0 / 0
Блокировка процессов при работе с SQL
    #35630958
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё вопрос афтару
сколько записей возвращает запрос?
...
Рейтинг: 0 / 0
Блокировка процессов при работе с SQL
    #35632222
Chaki_Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращает строк в зависимости от запроса, но в среднем 1000 - 1500 строк.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Блокировка процессов при работе с SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]