Re[7]: Блокировка для предотвращения попытки нарушения уника
От: Sinclair Россия https://github.com/evilguest/
Дата: 11.11.04 05:34
Оценка:
Здравствуйте, GarryIV, Вы писали:
GIV>Правда у меня есть определенные сомнения, что lock (критической секции) будет достаточно. Если нет то заменить lock на другой объект синхронизации. Например mutex.
Гм. Вынужден предупредить, что при запуске клиентских приложений на нескольких машинах mutex тоже не поможет.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Блокировка для предотвращения попытки нарушения уника
От: Merle Австрия http://rsdn.ru
Дата: 11.11.04 07:41
Оценка:
Здравствуйте, rockandroll, Вы писали:

R>UPDATE TABLE SET FIELD = FIELD

Ну, во-первых это далеко не всю таблицу, а во вторых, все равно не спасет...
Весь цимус задачки в том, что на момент этого самого апдейта записи не существует и апдейтить нечего, поэтому этот фокус сработает только при уровне изоляции не ниже Serializable, и только на серверах поддерживающих предикатные блокировки.
... [ RSDN@Home 1.1.4 revision 142 ]
Мы уже победили, просто это еще не так заметно...
Re[9]: Блокировка для предотвращения попытки нарушения уника
От: Merle Австрия http://rsdn.ru
Дата: 11.11.04 07:41
Оценка: 2 (1)
Здравствуйте, igna, Вы писали:

I>Serializable с Microsoft Access к сожалению не проходит.

Да там даже базу толком заблокировать нельзя, если я правильно помню, а не то что таблицу...

I>Пока добавил к базе данных еще одну таблицу с одной строкой и одним столбцом и использую ее единственный элемент для синхронизации. Хотелось бы получить уверенность, что это не извращение, или наоборот, таковой окончательно лишиться.

Ну не то чтобы это не извращение, но для Access'а вполне жизнеспособное решение...
... [ RSDN@Home 1.1.4 revision 142 ]
Мы уже победили, просто это еще не так заметно...
Re[8]: Блокировка для предотвращения попытки нарушения уника
От: Softwarer http://softwarer.ru
Дата: 11.11.04 08:00
Оценка: +1
Здравствуйте, igna, Вы писали:

I>Не спорю. Опыта работы с базами данных у меня нет, потому если узнаю, что принято не обращать внимания на такого рода практически невероятные проблемы, то так тому и быть.


Обращать внимание — надо. Другой вопрос, что "практически невероятные" проблемы достаточно обрабатывать корректно — не тратя силы на то, чтобы обработать их абсолютно оптимально для пользователя. В данном случае прореагировать непосредственно на нарушение целостности — проще и удобнее для программирования и ничуть не менее удобно для пользователя.
Re[5]: Блокировка для предотвращения попытки нарушения уника
От: rockandroll Казахстан  
Дата: 11.11.04 08:37
Оценка:
Здравствуйте, Merle, Вы писали:

R>>UPDATE TABLE SET FIELD = FIELD

M>Ну, во-первых это далеко не всю таблицу, а во вторых, все равно не спасет...
M>Весь цимус задачки в том, что на момент этого самого апдейта записи не существует и апдейтить нечего, поэтому этот фокус сработает только при уровне изоляции не ниже Serializable, и только на серверах поддерживающих предикатные блокировки.

Ну можно апдейтить не эту таблицу а другую, например
UPDATE TABLE_LOCK SET SOME_FIELD = SOME_FIELD WHERE TABLE_NAME = "USERS"
Само собой что в таблице TABLE_LOCK должна быть строка удовлетворяющая условию.
... << RSDN@Home 1.1.4 >>
Re[6]: Блокировка для предотвращения попытки нарушения уника
От: Merle Австрия http://rsdn.ru
Дата: 11.11.04 08:43
Оценка:
Здравствуйте, rockandroll, Вы писали:

R>Ну можно апдейтить не эту таблицу а другую,

Ну так он так и делает..
... [ RSDN@Home 1.1.4 revision 142 ]
Мы уже победили, просто это еще не так заметно...
Re[8]: Блокировка для предотвращения попытки нарушения уника
От: GarryIV  
Дата: 11.11.04 10:37
Оценка:
Hello, Sinclair!

S> Здравствуйте, GarryIV, Вы писали:

GIV>> Правда у меня есть определенные сомнения, что lock (критической
GIV>> секции) будет достаточно. Если нет то заменить lock на другой объект
GIV>> синхронизации. Например mutex.
S> Гм. Вынужден предупредить, что при запуске клиентских приложений на
S> нескольких машинах mutex тоже не поможет.

Это сомнений не вызывает Речь шла о ASP.NET приложении, так что с большой долей вероятности можно утверждать, что поможет.

WBR, Igor Evgrafov.
Posted via RSDN NNTP Server 1.9 gamma
WBR, Igor Evgrafov
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.