|
|
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Я програмирую на Visual Fox 8 с базой данных на SQL Server 2000. Используется CursorAdapter с ADO. Проблемма заключается в том, что при попытке заблокировать больше одного регистра блокируется только первый. У кого-нибудь есть идея с чем это едят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:08:30 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
авторчто при попытке заблокировать больше одного регистра блокируется только первый. регистр - это что? как определяется, что блокируется только первый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:11:24 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Под регистром имеется в виду строка. То что строка на заблокирована определяется тем, что другой пользователь может её изменять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:28:36 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Приведите код модификации данных. Хотя, в MSSQL нет такого понятия как RLOCK, для этого используются хинты Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:37:36 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Идеология программирования в клиент-серверных приложения отличается от идеологии файл-серверных приложений. В частности, не надо брать на себя вопросы блокировки записей. Это должен делать сам сервер. Программист должен исходить из предположения, что любая запись доступна для модификации любым пользователем в любой момент времени. Т.е. наиболее близко эта идеология к работе в режиме оптимистической буферизации. Кстати, как Вам удалось заблокировать хотя бы одну запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:39:25 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
PaulWist: Использование хинтов и транзакций я пробовал, но они меня не очень убедили по следующим причинам: 1. Блокировку снимает последний COMMIT, что не дает возможности производить "промежуточные" разблокировки. 2. Блокировки и разблокировки закодированы в классах. При использовании библиотеки классов другими програмистами они используют BEGIN TRAN - COMMIT, так что их отслеживание становится крайне сложным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 14:58:54 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Re: ВладимирМ. Идеологии это конечно хорошо, но платят мне клиенты, которые, в моём случае, хотят чтобы при входе в модификацию данных они были доступны для других пользователей / программ только в режиме просмотра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 15:06:08 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Вдумчиво прочитайте пост ВладимирМ. И поясните, что такое прмежуточная разблокировка и как Вам удается её достичь используя в классах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 15:06:22 |
|
||
|
SQL Server - блокировка данных.
|
|||
|---|---|---|---|
|
#18+
Прочёл заново (и вдумчиво) ваши предложения. К сожалению ни одно из них для меня не приемлимо. "Промежуточная" блокировка и разблокировка - это, как я понял, термны только что изобретённые мной Трудности перевода... Заблокировать хотя-бы одну запись удаётся. Основа - CursorLocation = 2 и LockType = 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 15:35:13 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33413771&tid=1592877]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 512ms |

| 0 / 0 |
