|
|
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
Здраствуюте,у меня такой вопрос,прошу совета. Я к серверу(sql server) подключюсь и беру несколько записи,как мне блокировать эти записи у сервера пока я с ним работаю у клиента на VFP9? Если база Foxа т.e. DBC или DBF нет проблема у FOXе для этого все есть. Блогодарю за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 22:41 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
Лучше этого не делать. Это крайне плохая стратегия работы с серверными базами данных. Пересмотри свою стратегию работы с данными. Впрочем, если очень нужно, то ищи описание в документации к той базе данных с которой собственно и работаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 22:48 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
Почитай тут /topic/28238&pg=1 может натолкнет на мысли. Я делаю так - есть 2 процедуры, одна ставит флаг, другая снимает. При редактировании некой записи - запускаю с клиента 1ю процедуру и передаю параметром имя таблицы и ид записи в этой таблице. Соотвествеено кто-то другой если открывает на редактирование ту же запись - эиу таже проуедура и говорит что запись занята. Код: plaintext Код: plaintext Код: plaintext Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 23:27 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
pulsЗдраствуюте,у меня такой вопрос,прошу совета. Я к серверу(sql server) подключюсь и беру несколько записи,как мне блокировать эти записи у сервера пока я с ним работаю у клиента на VFP9? Если база Foxа т.e. DBC или DBF нет проблема у FOXе для этого все есть. Блогодарю за совет. Рассмотри вариант использования оптимистической блокировки с применением поля таблицы типа timestamp. Основная идея не блокировать запись полностью перед редактированием (как ты предлагаешь) и не хранить эту информацию в специальной таблице (как предлагает Vladimir M Sklyar ), а читать перед редактированием записи значение ее поля типа timestamp и проверять его перед записью. А дальше, если значения не совпадают (конфликт), решаешь что делать исходя из приоритетов пользователй, времени, бизнес - логики самого приложения и пр. Подробную информацию о таком способе можно найти на этом форуме и на форуме по SQL серверу. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 07:25 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
e а читать перед редактированием записи значение ее поля типа timestamp и проверять его перед записью. Мне не подошел это вариант тем, что пользователь узнает что содержимое изменилось после кнопки "Сохранить", потому как пользователь может очень много наизменять, а при сохранении ему облом. Вообщем, поиск по форуму SQL-сервера. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 13:12 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
Почему сразу облом?! Сообщить и попросить подтвердить перезаписать. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 13:37 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
А если исходные данные уже изменились ? Я ведь могу своими данными накрыть данные которые изменил др. пользователь которые тоже актуальны. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 14:42 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
А если сервер не позволяет читать заблокированные данные? Это ведь не FoxPro. Пользователь заблокировал данные и ушел пить чай, а все остальные пользователи сидят и матерят того программиста. Они не погут прочиать ДРУГИЕ данные. Ты по другому вопросы поставь: -) Какие последствия для совместной работы будет иметь блокировка данных на неопределенно долгое время -) Какова вероятность того, что два пользователя одновременно начнут модифицировать одни и те же данные -) Каковы последствия того, что второй пользователь просто затрет изменения внесенные первым пользователем Только отвечай не вообще, а применительно к твоей конкретной задаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 15:06 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
Vladimir M SklyarА если исходные данные уже изменились ? Я ведь могу своими данными накрыть данные которые изменил др. пользователь которые тоже актуальны. Posted via ActualForum NNTP Server 1.3 НЕ МОГУТ БЫТЬ АКТУАЛЬНЫМИ ОДНОВРЕМЕННО РАЗНЫЕ ДАННЫЕ В ОДНОЙ СТРОКИ!! Мы в свое время тоже были озабочены этой проблемой, но практика показал: 1. Если пользователь меняет данные, то это ему надо. 2. Если вы не дали поменять данные ему в данный момент (блокировки, вспомогательные таблицы и пр.), то он их все равно поменяет, но позже, и изменения другого пользователя будут все равно "накрыты". С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 15:49 |
|
||
|
клиент VFP9 -> SQL server 2000
|
|||
|---|---|---|---|
|
#18+
Aleksey-K Vladimir M SklyarА если исходные данные уже изменились ? Я ведь могу своими данными накрыть данные которые изменил др. пользователь которые тоже актуальны. Posted via ActualForum NNTP Server 1.3 НЕ МОГУТ БЫТЬ АКТУАЛЬНЫМИ ОДНОВРЕМЕННО РАЗНЫЕ ДАННЫЕ В ОДНОЙ СТРОКИ!! Мы в свое время тоже были озабочены этой проблемой, но практика показал: 1. Если пользователь меняет данные, то это ему надо. 2. Если вы не дали поменять данные ему в данный момент (блокировки, вспомогательные таблицы и пр.), то он их все равно поменяет, но позже, и изменения другого пользователя будут все равно "накрыты". С уважением, Алексей. Кто последний исправил - на того и бочку катить.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2006, 16:34 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=256&tid=1591606]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 335ms |

| 0 / 0 |
