Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите по поводу блокировок =0)  [new]
Михася
Member

Откуда:
Сообщений: 4
Как заблокировать только те строки, кот. вытаскиваются с помощью Select?
16 май 05, 16:57    [1544879]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Михася
Как заблокировать только те строки, кот. вытаскиваются с помощью Select?

Для чего?
16 май 05, 16:59    [1544895]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Михася
Member

Откуда:
Сообщений: 4
Есть некоторая таблица, из нее в стороннюю программу загружаю данные... нужно предотвратить возможность двум пользователям менять одни и те же данные... Заблокировать загруженные строки в момент м/у "Загрузить" и "Выгрузить"
16 май 05, 17:06    [1544934]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Михася
Member

Откуда:
Сообщений: 4
...и нету никакой возможности блокировать только строки, полученные Селектом?! =0((((((
16 май 05, 17:18    [1544991]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Glory
Member

Откуда:
Сообщений: 104760
Михася
...и нету никакой возможности блокировать только строки, полученные Селектом?! =0((((((

Есть - транзакция называется
begin transaction
select * from mytable with(updlock)
...
16 май 05, 17:21    [1545012]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Михася
...и нету никакой возможности блокировать только строки, полученные Селектом?! =0((((((

Возможность-то есть, но
а) скорее всего она Вам не нужна
б) приложение после этого станет не очень многопользовательским.
Читайте.
16 май 05, 17:22    [1545015]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Paul Sacks
Member

Откуда:
Сообщений: 1105
Михася
Есть некоторая таблица, из нее в стороннюю программу загружаю данные... нужно предотвратить возможность двум пользователям менять одни и те же данные... Заблокировать загруженные строки в момент м/у "Загрузить" и "Выгрузить"

1. Данные загружаете в клиент?
2. Изменять данные пользователями одновременно? Или как?
3. Вам необходимо более четко сформулировать задачу.

Лично я понял, что вы хотите спланировать права доступа?
16 май 05, 17:23    [1545017]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Paul Sacks
Михася
Есть некоторая таблица, из нее в стороннюю программу загружаю данные... нужно предотвратить возможность двум пользователям менять одни и те же данные... Заблокировать загруженные строки в момент м/у "Загрузить" и "Выгрузить"

1. Данные загружаете в клиент?
2. Изменять данные пользователями одновременно? Или как?
3. Вам необходимо более четко сформулировать задачу.

Лично я понял, что вы хотите спланировать права доступа?

Да нет, нужна пессимистическая блокировка, да еще и серверным механизмом.
16 май 05, 17:24    [1545022]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
Можете сделать табличку в кот компы будут вносить ID записей которые используют и например свои имена... Чтобы получить новые данные приложение бут смотреть эту табличку - неиспользуетли это уже ктото! но это не интересно :)) ибо
Гавриленко Сергей Алексеевич

приложение после этого станет не очень многопользовательским.
[/url]
16 май 05, 17:29    [1545059]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Михася
Member

Откуда:
Сообщений: 4
1.Есть таблица-общая для двух баз 1С..... Нужно избежать такой ситуации, когда 2 пользователя из разных баз загрузят одни и те же строки, по своему их поменяют и выгрузят( получится, что данные последнего перекроют информацию первого пользователя)...а нужно, чтобы если в одной базе загрузили некоторые строки, в другой пользователь уже не смог их загрузить и поменять....Но всю таблицу блокировать нельзя....

2 updlock блокирует еще и др. записи =0( (кроме тех, что загружены)
16 май 05, 17:31    [1545076]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Glory
Member

Откуда:
Сообщений: 104760
2 updlock блокирует еще и др. записи =0( (кроме тех, что загружены)
Ну так количество записей зависит от вашего запроса.
16 май 05, 17:33    [1545083]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
SanyL
Можете сделать табличку в кот компы будут вносить ID записей которые используют и например свои имена... Чтобы получить новые данные приложение бут смотреть эту табличку - неиспользуетли это уже ктото! но это не интересно :)) ибо
Гавриленко Сергей Алексеевич

приложение после этого станет не очень многопользовательским.
[/url]

Да нет, если пессимистическая блокировки диктуется правилами бизнесс-логики, то против этого не попрешь - делать придется. Но, imho, если для этого подключить серверный механизм блокировок (я не беру в рассчет апп-локи), с транзакциями с клиента, то это самый быстрый путь к умертвлению системы.
16 май 05, 17:34    [1545090]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
Гавриленко Сергей Алексеевич
SanyL
Можете сделать табличку в кот компы будут вносить ID записей которые используют и например свои имена... Чтобы получить новые данные приложение бут смотреть эту табличку - неиспользуетли это уже ктото! но это не интересно :)) ибо
Гавриленко Сергей Алексеевич

приложение после этого станет не очень многопользовательским.

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


Тут просто он не будет делать блокировок как таковых = но приложения будут знать что им видеть не стоит!
16 май 05, 17:39    [1545116]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по поводу блокировок =0)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
SanyL
Гавриленко Сергей Алексеевич
SanyL
Можете сделать табличку в кот компы будут вносить ID записей которые используют и например свои имена... Чтобы получить новые данные приложение бут смотреть эту табличку - неиспользуетли это уже ктото! но это не интересно :)) ибо
Гавриленко Сергей Алексеевич

приложение после этого станет не очень многопользовательским.

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


Тут просто он не будет делать блокировок как таковых = но приложения будут знать что им видеть не стоит!

Так в том-то и суть - фактически ничего не блокируюя дать знать приложению, что эти записи "видеть не стоит".
16 май 05, 17:40    [1545124]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить