powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL Server - блокировка данных.
9 сообщений из 9, страница 1 из 1
SQL Server - блокировка данных.
    #33413699
Фотография burgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я програмирую на Visual Fox 8 с базой данных на SQL Server 2000. Используется CursorAdapter с ADO. Проблемма заключается в том, что при попытке заблокировать больше одного регистра блокируется только первый.
У кого-нибудь есть идея с чем это едят?
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413712
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто при попытке заблокировать больше одного регистра блокируется только первый.

регистр - это что?

как определяется, что блокируется только первый?
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413771
Фотография burgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под регистром имеется в виду строка.
То что строка на заблокирована определяется тем, что другой пользователь может её изменять.
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413804
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведите код модификации данных.

Хотя, в MSSQL нет такого понятия как RLOCK, для этого используются хинты

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 FASTFIRSTROW 
        | HOLDLOCK 
        | NOLOCK 
        | PAGLOCK 
        | READCOMMITTED 
        | READPAST 
        | READUNCOMMITTED 
        | REPEATABLEREAD 
        | ROWLOCK 
        | SERIALIZABLE 
        | TABLOCK 
        | TABLOCKX 
        | UPDLOCK 
или установка среды выполнения

Код: plaintext
SET TRANSACTION ISOLATION LEVEL 
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413812
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идеология программирования в клиент-серверных приложения отличается от идеологии файл-серверных приложений.

В частности, не надо брать на себя вопросы блокировки записей. Это должен делать сам сервер. Программист должен исходить из предположения, что любая запись доступна для модификации любым пользователем в любой момент времени.

Т.е. наиболее близко эта идеология к работе в режиме оптимистической буферизации.

Кстати, как Вам удалось заблокировать хотя бы одну запись?
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413891
Фотография burgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWist:

Использование хинтов и транзакций я пробовал, но они меня не очень убедили по следующим причинам:
1. Блокировку снимает последний COMMIT, что не дает возможности производить "промежуточные" разблокировки.
2. Блокировки и разблокировки закодированы в классах. При использовании библиотеки классов другими програмистами они используют BEGIN TRAN - COMMIT, так что их отслеживание становится крайне сложным.
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413932
Фотография burgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Re: ВладимирМ.

Идеологии это конечно хорошо, но платят мне клиенты, которые, в моём случае, хотят чтобы при входе в модификацию данных они были доступны для других пользователей / программ только в режиме просмотра.
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33413934
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдумчиво прочитайте пост ВладимирМ.

И поясните, что такое прмежуточная разблокировка и как Вам удается её достичь используя в классах.
...
Рейтинг: 0 / 0
SQL Server - блокировка данных.
    #33414064
Фотография burgos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочёл заново (и вдумчиво) ваши предложения. К сожалению ни одно из них для меня не приемлимо.

"Промежуточная" блокировка и разблокировка - это, как я понял, термны только что изобретённые мной Трудности перевода...

Заблокировать хотя-бы одну запись удаётся.
Основа - CursorLocation = 2
и LockType = 2
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / SQL Server - блокировка данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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