|
|
|
Блокировка процессов при работе с SQL
|
|||
|---|---|---|---|
|
#18+
Есть форма, DataGridView, быбор данных с MS SQL Server. Выборка работает несколько минут. Если закрыть форму когда данные не досчитались, форма исчехает, но в процессах продолжает работать. При попытке еще раз включить данную форму, и нажать выбор данных, происходит то, что к БД вешается несколько коннектов, на выборку одних и тех же данных, и таких может быть столько, сколько было недозавершенных выборок. ИТОГ: на сервере висят несколько коннектов, которые блокируют выборки друг друга, и сервер загружается на 100%, вообще ничего невозможно посщитать. По моему мнению есть 2 решения (нужно недопустить запуска второй выборки, пока работает первая): 1. Блокировать запуск формы, если аналогичная висит в процессах. 2. Блокировать запуск выборки на сервере SQL, если данный коннект уже существует (т.е. непозволять коннектиться данному юзеру, если уже он включен). Если кто знает, напишите код, которым можно реализовать или то, или то (только прошу, не пишити ответов: используй блокировку того, или того... одним словом, мне нужно решение, которое я смогу использовать). Спасибо, если кто поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2008, 11:17 |
|
||
|
Блокировка процессов при работе с SQL
|
|||
|---|---|---|---|
|
#18+
1. Тупо не дать закрыть форму. 2. Выделить запрос в отдельную нить и контролировать - работает нить или нет. В С# хорошие средства синхронизации. 3. Использовать один коннект на все и в pool его не сдавать. Я так делаю. Хоть это и не по науке, зато проблемы с несколькими коннектами у меня быть не может. Для толстого клиента пул - это сплошной источник дурных проблем. Коннект мне все равно нужен лишь один в пределах компьютера и смысл в управлении соединениями теряется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2008, 16:38 |
|
||
|
Блокировка процессов при работе с SQL
|
|||
|---|---|---|---|
|
#18+
to : Chaki_Black используй Mutex или Lock to : Щиче ты сильно не прав в пункте 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2008, 16:32 |
|
||
|
Блокировка процессов при работе с SQL
|
|||
|---|---|---|---|
|
#18+
и ещё вопрос афтару сколько записей возвращает запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2008, 16:33 |
|
||
|
|

start [/forum/topic.php?fid=17&gotonew=1&tid=1352083]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 374ms |

| 0 / 0 |
